I'm having a bit of trouble with one user32:msg test, which is unhappy about the internal message being posted at an unexpected time, changing the queue status.
I'm not completely sure how to better post asynchronous work to user drivers, it seems a bit brittle that internal messages are somehow visible to the client, but then the alternative mechanisms I can think about also seem a bit too complicated and not very appealing (send a X11 event, use an APC?).