Also wenn ich die Zeile lösche gibt's ne Fehlermeldung. Von daher würde ich einfach mal sagen, dass Lazarus die Forms nicht selber erstellt.
Die einzige logische Erklärung die mir für dein Problem einfällt: TForm1.create wird aufgerufen bevor Form2 automatisch erstellt wird. Dieses verhalten würde mich zwar arg wundern, aber das Ergebnis wäre genau das was du jetzt hat; denn Form2 würde danach auf eine zweite Instanz von TForm2 zeigen, die aber unsichtbar ist.
Wie sieht denn die Projektdatei aus?