Dennoch bleibt mir das mit dem Terminate/Destroy unverständlich (gerade auch, weil ich das Gefühl habe, dass Application.Terminate nichts zur Folge hat, außer Fehlermeldungen).
Ganz einfach: Das Zerstören des
Application-Objekts oder
Application.terminate beendet das Programm nicht, sondern sondern zerstört nur die Message-Queue.
Es kann aber auch Programme ohne Message-Queue geben, auch wenn das nicht besonders Windows-typisch ist.
Wenn du dich näher mit den Grundlagen (also was unter anderem hinter diesem Objekt steckt) beschäftigen willst, kannst du dir das
Win32-Tutorial von Luckie angucken.