Hm sehe aber das Grundproblem nicht.
Im OnCreate liegen die Ressourcen von FormMain ja bereits im Speicher und können angesprochen werden.
Vom Gefühl her ist das OnCreate auch der einzig passende Ort um beim Programmstart Fenster zu erzeugen. OnShow oder OnActivate werden ja durchaus mehrfach ausgeführt. Der Einzige Weg wäre dann im OnCreate ein Flasg zusetzen im ersten OnShow die Initialisierung zu machen und das Flag danach wieder zurück zu setzen um mir sozusagen ein OnCreated zu erzeugen.
Ist aber auch wieder unschönes gefrickel. Wäre es möglich das
MDI Form als normales Form im OnCreate zu erzeugen und dann lediglich im erstmaligen OnShow des Main Form auf FormStyle auf fsMDIForm zu setzen ?
Wobei auch das fraglich ist ob das noch schön ist.