Em relação ao que vc deseja fazer, a Marinha (onde eu já trabalhei) tem um
sistema que faz exatamente isso que vc quer e muito mais. Lá foi implementado
um Gerenciador, que age como um servidor, pois recebe os dados de outros
Gerenciadores, incluindo scripts de atualização do banco de dados, e um
programa desktop para os usuários acessarem os dados e inserirem. O tal
gerenciador realmente tem que parar o serviço do Firebird, pq vc não consegue
atualizar algumas coisas (ou várias...rsrs) se alguém estiver usando a base de
dados. O que ocorre é que ele tem uma fila de espera para processar alguns
arquivos, incluindo os scripts.
Sugiro a vc pensar nesta idéia, pois lá funciona e são MILHARES de registros,
e cada "filial" que tem seu gerenciador pode inclusive acrescentar campos e
tabelas novas, e isso é enviado para todas as outras filiais com as quais ele
se comunicar, para que não exista problema de tabelas ou campos ausentes.
Óbvio, alguém poderá sugerir usar 3 camadas, mas como ainda não desenvolvi
nada profissionalmente assim, não posso dar minha opinião técnica. Acredito que
seja viável e interessante para sua necessidade e espero ter contribuído um
pouco.
Antes que eu esqueça, foi usado um componente para acessar o serviço do
Firebird e poder para-lo, mas não lembro o nome. Sei que nao era pago, mas
mesmo assim, existe um bom material sobre isso na internet.
Boa sorte!