Du hast wohl nocht nicht den Unterschied zwischen
Handle und Form herausgefunden. Wenn dann schon Form.Handle benutzen, auch wenn es dann trotzdem falsch ist.
In deinem Fall rate ich statt "Form1 := TForm.Create(Application)" zu "Application.CreateForm(TForm, Form1)" denn damit weiß die Anwendung, dass das erste Formular als Hauptfenster zu betrachten ist. Der SetWindowLong brauchst du dann nicht mehr.