Mal ein Vorschlag in eine ganz andere Richtung. Schreib doch dein Programm einfach System-modal. Ist eine
WinAPI-Funktion, greift also tief genug auf Windows zurück, um auch nicht umgangen zu werden. Dann musst du nur noch dafür sorgen, dass das Programm nicht verlassen werden kann (zum Beispiel in dem du das OnExit-Ereignis abfängst) und müsste klappen.
Hab das mal zu meinen Delphi-Anfängen gemacht.