Es gibt nicht die Mainform.
Die Mainform ist irgendeines der Fenster, welches der "Programmierer" als dieses ansieht.
Bei der
VCL ist es so, daß dieses standardmäßig das erste, bei Application registrierte, Fenster ist.
Wenn du also in
nonVCL keine Registrierung hast, dann kann man dieses Programmseitig nicht unterscheiden.
Lass deinem Dialodaufruf ein
Handle mitgeben, welches dann quasi als Mainform verwendet wird.
PS: HInstance deiner Anwendung ist im aktuellen Windows die EXE, bzw. deren Image und bei einer
DLL ist es analog das
DLL-
Handle.