Das Problem bei
VCL-Objekten und Threads ist hauptsächlich die Nachrichtenschleife und dass, das Application Object welches im inneren öfter mal Verwendung findet von einem anderen Thread erzeugt wurde als die später erzeugten Objete des Threads.
Wenn du die
DLL erst in deinem Thread lädst (LoadLibrary) hast du keinerlei Probleme weil dann die
DLL im Context des Threads geladen wurde und somit das ApplicationObject etc. alles in diesem Threadcontext erstellt wird. Entsprechend ist für die
DLL der Hauptthread der von der sie geladen wurde.