Dann wird mein Fehler irgendwo in Form1 sein. Im Destroy steht nichts drin.
Das deutet eher darauf hin, dass du die Variable Form1 irgendwo veränderst oder selbst irgendwo freigibst.
Interessant, ExitProcess(0) geht, Halt(0) nicht.
Halt bedeutet:
Mit voller Fahrt gegen den Baum fahren um anzuhalten.
Bist du sicher, dass du das möchtest? Dass es dabei auch knallen kann, dürfte klar sein.
Gibt es noch eine andere Möglichkeit das finalisieren durchzusteppen, als wie gestern Abend? Zum Beispiel nur das was in Form1 passiert?
Debug-DCUs in den Projektoptionen aktivieren.