Ich zerstöre in so einem Fall die Form immer extern, d.h. die Form schickt eine 'Zerstörungsanfrage' per Message an ihren Owner und verlässt Close mit action = caNone. Für den Fall, dass der Owner nicht mehr existiert, wird mit action = caFree reagiert.
Daraufhin wird die Form von extern zerstört (der
handle muss ja dort vorhanden sein, sonst macht das ganze keinen Sinn) und der
Handle auf nil gesetzt.