Wenn das Hauptformular geschlossen wird, dann schließt du damit das Programm.
Wie wäre es mit Form1.Hide, du willst doch Form1 nicht schließen sondern verstecken.
Um Form1 danach wieder anzuzeigen könntest du das so machen:
Delphi-Quellcode:
Form1.Hide;
Form2.ShowModal;
Form1.Show;
Meistens ist es aber nicht besonders sinnvoll das Hauptfenster auszublenden, da das zu Verwirrung führen kann.