1. Bevor du Form.Show verwenden kannst muss Form.Create erfolgreich beendet sein.
Also den Teil aus
procedure TForm1.FormCreate(Sender: TObject);
Nach
procedure TForm1.FormShow(Sender: TObject);
verlegen.
2. Ein Form welches nicht angezeigt wird kann nicht geschlossen werden.
Und somit ist Form.Close(); ohne Wirkung.
BTW hast du mal auf Fortsetzen geklickt wenn die Fehlermeldung kommt?
Denn die erzwingst du selber in try... except
Verwende anstatt Form.Close(); Application.Terminate;
[Edit]
Helmi war ein wenig schnell mit schreiben