Yo tengo una aplicacion que trabaja con 3 bds diferentes y no veo la hora de tener tiempo para ponerlas en una sola, perder el poder que dan los query y dejarle todo el enlace de empresas a Delphi no es bueno, es mejor que los querys te den los resultados discriminados, en algun momento vas a necesitar juntar datos de una empresa a otra y vas a tener que consultar en firebird la bd de una empresa, ir a Delphi para tener unos datos de la empresa, enviar los filtros otra vez a firebird en la otra bd, volver a consultar, volver a Delphi y al final para juntar la informacion. Cuando sean muchos datos esto se volvera muy lento y cada vez mas complejo.
un solo ejemplo como harias la siguiente consulta en varias bd:
Código SQL
[-]
Select * from Empresas a where
a.id not in (select b.empresa from InsumosEntreempresas b)
Recuerda que Firebird no permite querys entre bds