Я подозреваю, что проблема заключается в синхронизации, а не в очереди сообщений. Если ваш код допускает множественные вызовы процесса рабочего потока, вам нужно более тщательно управлять этим, чтобы знать, какой «экземпляр» рабочего потока публикует сообщения.
Проверяли ли вы, что одновременно выполняется только один рабочий поток, или что дескриптор окна m_hUsers защищен от изменения между BULKPROCESS и BULKDONE?
SendMessage может быть полезен для управления BULKDONE, потому что он будет блокироваться до тех пор, пока сообщение не будет обработано, позволяя коду, вызывающему рабочий поток, синхронизировать вызов рабочих потоков и точно знать, что один рабочий поток завершен перед вызовом другого. Postmessage не будет блокировать, но помните, что чувствительная ко времени часть вашего рабочего потока
`// ... некоторая обработка здесь ...
не отправляет сообщения Windows.