La verdad, yo no lo he entendido.
Con lo facil que es instalar firebird como un servicio, no veo cual es el problema de que el server este en ejecución aunque no se use tu programa.
Ni consume recursos excesivos ni te creará ningun conflicto.
Por otro lado, quizas te interese embeded FireBird, que es una libreria y no necesita ejecutables.
Y lo de arrancar "as an application", dices que lo levantas "a mano", pues entonces utiliza winexec para arrancarlo desde delphi.
Y para matar procesos, yo utilizo esta función (creo que es de trucomania)
Código Delphi
[-]function KillTask(FileName: string): integer;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
const
PROCESS_TERMINATE = $0001;
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
while integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(FileName)) or
(UpperCase(FProcessEntry32.szExeFile) = UpperCase(FileName))) then
Result := integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE,
BOOL(0), FProcessEntry32.th32ProcessID), 0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
Ya nos contaras como te ha ido!!!!