while MediaEvent.GetEvent(evCode, l1, l2, 1) = S_OK
(или подобные функции ожидания) последний параметр Timeout нужно выставлять больше, например, 1000. Иначе при отсутствии событий в очереди, ты впустую гоняешь цикл и заставляешь систему слишком часто переключать поток
[/offtop]