Versuch alles in einem eigenen Thread su machen.
DLL+
VCL laden und die Form erstellen.
Außerdem braucht dieser Thread noch eine Message-Loop (Application.ProcessMessages aufrufen), denn irgendwo müssen die
VCL/Window-Messages ja verarbeitet werden.
Wenn das Hauptprogramm auch eine
VCL besitzt, dann kommen sie sich sonst womöglich in die Quere.
Oder eben alles
NonVCL erledigen, aber die
NonVCL-Form im Hauptthread der Anwendung erstellen, ansonsten ebenfalls eine Message-Loop im erstellenden Thread.
Messages sind threadabhängig ... abhängig vom Thread, in welchem ein Win-Control erstellt wurde.