A ver, que me explico mejor: utiliza MAX() para el teléfono, sólo para el teléfono. Porque se supone que la consulta hace lo que quieres salvo por ese detalle, ¿no?
Código SQL
[-]SELECT
FRA.CLIENTE, EMP.NOMBRE, MAX(TEL.TELEFONO), SUM(FRA.BASE_IMP)
FROM
": DBFACTU2:FAC_EMI.DB" AS FRA,
": DBFICHEROS:EMPRESAS.DB" AS EMP,
": DBFICHEROS:TELS_EMP.DB" AS TEL
WHERE
TEL.EMPRESA = EMP.ID_EMPRESA AND
EMP.ID_EMPRESA = FRA.CLIENTE AND
FRA.BASE_IMP <> 0 AND
FRA.CLIENTE IS UNIQUE
GROUP BY
FRA.CLIENTE, EMP.NOMBRE
ORDER BY
FRA.CLIENTE
Si esto tampo vale creo que necesitaré que me expliques de nuevo que es lo que quieres y cual es la estructura de tus tablas para construir una consulta anidada.