Не понимаю в чём проблемма (мутно написано). Откуда беруться события? Сам работаю с последовательным портом из С++Билдер через ВинАПИ в отдельном потоке (принимаю пакеты). События пока не делал. Основной поток проверяет наличие готовых пакетов по таймеру (через общую переменную).