О, вот это уже похоже на ту мысль, что давно должна была прийти, но где-то загуляла: сделать паразитам выносную реализацию перехвата — то есть, события OnControlPatch и OnControlUnpatch! Если обработчики на них есть, то отключить собственную в реализацию в паразитах. А снаружи в обработчиках можно и общую очередь держать.
К сожалению ии в вопросе я про это уже писал: « Все три, в принципе, у меня в исходниках — но подстава: относятся к разным пакетам компонентов и соответственно я не могу их исправить так, чтобы они пользовались каким-то моим общим для них вспомогательным классом —менеджером очереди подменных WindowProc.»…