Du meinst, das OnClose nicht aufgerufen wird, wenn Windows herunterfährt?
Der Einstiegspunkt beim Herunterfahren wäre:
Delphi-Quellcode:
TMyForm = class(TForm)
private
procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
procedure WMEndSession(var Msg: TMessage); message WM_ENDSESSION;
end;
Dort kannst Du Deine abschliessenden Dinge ausführen lassen.