Ну, мы не могли это исправить, поэтому нам удалось обойти это, переключившись на использование версии API, которая использует сокеты, а не COM. Теперь все отлично работает.
Я на 90% уверен, что COM API, который мы используем, основан на MTA (многопоточные квартиры), а не STA (однопотоковые квартиры). Из того, что я знаю о COM, MTA и STA не смешиваются в одном и том же месте.
Я голосую за ваш ответ, потому что это единственное объяснение, которое я могу придумать, которое объясняет полное отсутствие событий COM во время модульного теста.