Hast du den Code gekürzt oder sieht der wirklich so aus?
Denn darin gibt es keine Konstruktoren und diese werden auch nicht aufgerufen (um die Instanzen/Objekte zu erstellen).
Wenn ihm die Standard-Constructoren vom TObject reichen, weil er im Constructor nichts machen will, dann braucht er natürlich sselber keine zu implementieren.
Da sich die Klassen aber gegenseitig kennen sollen, oder zumindestens die eine Klasse die Andere,
dann sollte man der einen Klasse schon einen Constructor geben, wo man ganz praktisch den Instanzzeiger der anderen Klase mitgeben könnte, welchen sie sich dann in einem privatem Feld speichert.
Also dein FMainClass wäre dann privat und nicht public verfügbar (maximal als ReadOnly-Property).