Simple, ponle a tu programa una rutina que se ejecute antes de hacer nada dentro del mismo y que lo primero que haga sea verificar que ya esté corriendo el servidor, de lo contrario manda un mensaje o haz un bucle de tiempo para esperar a que ya esté operando:
Código Delphi
[-]
var Listo: boolean;
Begin
While not Listo do
Begin
try
TConection.Connect
listo:=True;
except
listo:=false;
end;
sleep(1000);
Application.ProcessMessages;
end;
Este bucle se ejecuta, trata de conectarse, si falla (por x causa) espera 1 segundo y vuelve a intentar, y ahi sigue hasta que logra conectarse. Tu aplicación quedará semi-colgada esperando al servidor de manera que si este se iniciase después de tu aplicación, esta se conecta y no tendrás problemas.
Nota: Lo de TConnection es un decir porque no se que componente usas para Firebird.