Здравствуйте, PeterPan, Вы писали:
А можно озвучить решаемую задачу более подробно? Обрабатывать неизвестно какие события с неизвестно какой сигнатурой от неизвестно каких серверов — задача понятная для разного рода wizard'ов, создающих врапперы, но с этим вроде как должны справиться TypeLibConverter или AxImporter

. А обычное приложение какую пользу может из этого извлечь?
В принципе, если серверы генерят события через dispinterface, то достаточно просто их принять одним объектом, реализующем IDispatch. Нужно просто в QueryInterface на запрос диспинтерфейсов отдавать IDispatch, и все события пойдут в IDispatch.Invoke. В нативном коде это делается элеменарно, такую реализацию часто используют в качестве базового класса приёмников событий. Вероятно, можно попробовать провернуть это и в NET.