In Deinem Beispiel instanziert Du ein Object vom Typ TForm (with TForm2.Create(Application)..)
dann machst Du das ModaResult mit ShowModal auf 0. Jetzt destroyest Du das Form (finally Free
.
Das kann doch nicht funktionieren, oder ?
Ersetz mal das Showmodal durch Show und kommentiere das Free aus (//), dann funktioniert das auch !