К>Вот в винде он как раз многопоточный (для этого и существуют очереди сообщений у потоков). К>И этим пользуются разные подпольные компоненты — DDE, OLE.
очереди сообщений относятся к приложению а не к графическому движку.
разве можно из двух потоков одновременно (а не ставя запросы в очередь) рисовать на одном DC?
или например запустить асинхронную операцию заливки экрана а самому в это время рисовать в другом месте