Wenn Windows nicht beendet wird, reagiert deine Anwendung offensichtlich auf diese Nachricht.
ShowMessage aufzurufen ist an dieser Stelle eine ganz schlechte Idee.
Diese Nachricht muss unverzüglich beantwortet werden.
Windows befindet sich sozusagen im Ausnahmezustand, bis alle Anwendungen reagiert haben.
Da darf man nicht einfach neue Fenster erstellen.
Wenn man das Beenden von Windows verhindert, kann man sich aber selbst noch schnell eine Nachricht Posten und nachträglich auf dieses Ereignis reagieren.
http://www.developia.de/forum/viewtopic.php?t=83552