Ich rufe aus dem Hauptprogramm mit Create und ShowModal ein zweites Fenster auf. Von diesem ein weiteres Fenster ebenso mit Create und ShowModal.
Wenn ich das letzte Fenster schließe, wird das zweite Fenster ebenfalls geschlossen. Warum ?
Weil irgendwas für das erste Fenster das ModalResult des Forms auf einen Wert <> mrNone setzt. Das passiert nicht von selbst, entweder machst Du das selbst in deinem Kode, oder Du machst den alten Fehler, das zweite From aus einem OnMouseDown-event zu schließen, worauf das zugehörige mouse up vom ersten Form verarbeitet wird und da z. B. einen Button "clickt".