Man ruft Destroy nicht direkt auf.
Application.CreateForm wird standardmäßig nur für die "automatisch" erstellten Forms verwendet und nicht manuell aufgerufen.
Dynamisch erstellte Forms erstellt man also genauso, wie jede andere Komponente, die man per Code ertellt. ->
TObject.Create
Wieso lustig? Das ist nunmal so ... etwas ist sichtbar und kann demnach nicht noch sichtbarer werden.
Und dann, weißt du doch wo das Problem ist, also beheb es doch einfach?
Setze Visible auf False (im
OI) und fertig.
In alten Delphi-Versionen war man noch auf die schlaue Idee gekommen und hatte bei den Forms das Visible per Default auf True stehen.