<p>Do you have any ideas how to call DoEvents from a C# DLL</p>

Don't. It's sketchy enough when you are the app controlling the event loop; pumping messages from a DLL just adds to the risk that you'll end up hitting code a naive programmer didn't make safe for re-entrancy.