Deswegen habe ich mir angewöhnt das onCreate soweit wie möglich leer zu lassen und die Sachen in einen Timer zu verschieben.
Wobei ich mir da eher die Timerkomponente abgeleitet hätte, die ein OnStartUp-Event von sich aus nur einmal feuert,
oder ich hätte mir die TForm abgeleitet und ihr ein OnStartUp verpasst, daß z.B. ähnlich dem OnShow aufgerufen wird, aber eben auch nur einmal.
Oder im Windows im OnCreate ein PostMessage an die eigene Form. Das kommt an, wenn Delphi mit dem Erstellen der Form fertig ist und wieder Messages verarbeitet,
solange keiner so doof ist und das durch ein Application.ProcessMessages schrottet. (k.A. wie man das im iOS mach)