А>При нажатиии на drop-down-кнопку генерируется сообщение TBN_DROPDOWN. Тебе нужно обрабатывать его.
Это понятно, его я обрабатываю. Вернее Delphi обрабатывает т.к. использую VCL, свойство DropDownMenu.
Проблема была не с обработкой сообщения, а с показом PopupMenu.
Дело оказалось в том что модуль menus.pas не является потоково безопасным, пришлось сделать несколько изменений в этом модуле относительно класса TPopupList. Только что сделал, теперь все работает.