Nur genau einmal. Wie oft die
Unit im Programm verwendet wird hat damit nichts zu tun.
Beim Programmstart werden die initialization Sections der Reihe nach abgearbeitet (entsprechend die finalization Sections beim Programmende).
Welche
Unit welche andere
Unit verwendet beeinflusst nur die Reihenfolge der Abarbeitung. Das wird zur Kompilationszeit entschieden (es ist vollstaendig entscheidbar). Bei Programmausfuehrung ist die Reihenfolge also immer gleich.
Forms sind normale Objekte, die sowieso erst nach Ende der Initializaton erstellt werden koennen.Erst dann kommt der Code im .dpr dran.