I'm somewhat curious as to why your processor level is whacked up to full pelt. DoEvents should relinquish control to other threads such as the System Idle process, and oDBCore.Sync() should just do the rendering, then done. I can only assume that your process is running at high priority somehow. Like, if I run the Asteroids.NET sample, it pushes my processor to about 70-75% usage, and the System Idle process happily chugs at around 20-25%. So I'm not using it at it's full usage.
This is using the standard oDBCore.Sync() (Without DoEvents also)
You could try experimenting by setting your SyncRate value to between 30 to 50 to see how the performance usage is affected.
Paul.