Fehler gefunden: Es lag am Aufruf einer anderen Prozedur, die immer, also auch nach dem try..except, aufgerufen wurde. (Ermitteln der Systemzeit, jedenfalls ist der zentrale Befehl in jener Prozedur QueryPerformanceCounter. Das passiert, um die Rechendauer zu ermitteln.)
Mit dem nur noch optionalem Aufruf der Prozedur (nicht, wenn except aufgerufen wird, dann wird eine boolesche Variable auf false gesetzt, was den späteren Aufruf verhindert) ist der Programmabbruch vermeidbar.
Dieses Programmverhalten leuchtet mir nicht ein und stellte im
VCL-Thread auch kein Problem dar.
Danke noch einmal, Uwe!
Ergänzung: Ganz so sauber, wie dargestellt, lief es auch im
VCL-Thread doch nicht ab: Nach der programmierten Fehlermeldung kam auch noch eine
exception hinterher, aber das Programm stürzte nicht ab (indem es aus dem Speicher verschwand), sondern ließ sich nach dem "Wegklicken" letzter weiterbenutzen.