Meine Idee wäre jetzt dem OnClose-Ereignis des Formulars eine Routine "zu verpassen" und dort Abzufragen, ob das Programmbeendet werden darf oder nicht.
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caNone; // Das Formular darf nicht geschlossen werden, daher geschieht nichts.
end;
Hier sollte das Programm dann nicht beendet werden.