GUI message loop & COM

I have been having trouble using the 'Synchronize' command when COM
events are fired from the same worker thread!

For some reason the code gets stuck on the Synchronize call until I send
a COM command from the Client to show or hide the Server GUI, then a few
Synchronize commands make it through!

I have come to the assumption that the GUI message loop is not getting
processor time. I have added an 'OnIdle' event on my MainForm with a
ProcessMessage call in the loop... this does get called, but does not
help my application.

Does anyone know how to make sure the GUI message loop is being

Thankyou in advance