**This is the question (the rest is just so you can tell me I'm doing it all wrong)**. 

Is there any way I can ensure that the first binary file to be ran (i.e. my executable) is the first one to initialize vcl.controls.pas?

---

I asked [this question a few months ago](https://stackoverflow.com/questions/7742954/tthread-synchronize-causing-near-deadlock-in-delphi-2009-worked-in-delphi-7) and I figured out how to fix it there and synchronize was working again just swell for Delphi 2009. 

Now we've got Delphi XE2 and the same symptom is happening. TThread.Synchronize locks up until the system idles or you move the mouse over the active form causing the program to go super slow. I could recreate the problem in Delphi 2009 because I got lucky and found the source to be an non-circuitously linked DLL, but I don't believe this to be the case with XE2. I don't know why XE2 decides to initialize code differently than Delphi 7 or 2009, but according to my answer on the other question, nothing really changed with TThread, so it must be somewhere else.

Well, I've been stepping through the initializations of my main MDI app and it appears to call TApplication.Create (which happens in the initialization of VCL.Controls.pas) inside a linked DLL. I can't say that I understand why this is a problem since I build everything with the same runtime packages (VCL, RTL, etc...).