Я использую несколько элементов управления прокруткой: TTreeViews, TListViews, DevExpress cxGrids и cxTreeLists и т.д. Когда колесико мыши вращается, управление с фокусом получает вход, независимо от того, какой контроль над курсором мыши завершен.
Как вы управляете вводом колесика мыши в любое управление курсором мыши? В этом отношении Delphi IDE работает очень хорошо.