draw at some hWnd, i.e. control, at any time - from any thread
This isn't going to happen in Windows. The basic windows controls are designed with thread affinity. You must use the thread which created the control to draw into the control (even with WPF). GDI (and GDI+) is based on these technologies, and will always require using a single rendering thread.
That being said, you can still do real time graphics. Just handle all of the processing on graphics threads, and only marshal the drawing onto the UI thread. This will be fast enough to draw nearly everything required.
If absolute rendering speed is required, you may want to switch to Direct2D or Direct3D for rendering. There are options for multithreaded rendering in Direct3D, though internally they still use locking.
However, you should be able to render at much greater than your monitor's refresh rate using D3D.