Ну, я думаю, что единственный способ - это запрограммировать метод обработки идентификаторов, которые учитывают проблему с DLL :)
Я имею в виду, что если вы можете вычислить глобальный идентификатор типа как «DLL Id» + «DLL local type Id», у вас есть то, что вы хотите. Я думаю, что это может быть осуществимо, если вы управляете частью загрузки DLL или если операционная система выдает обратные вызовы для управления этим. Если вы можете установить уникальный идентификатор в связанном с DLL объекте, то все готово; -)
Я не эксперт в управлении Windows DLL, но я помню, что есть что-то вроде функции обратного вызова on_dll_load, которая может помочь. Любой эксперт по управлению DLL?
Только мои 2 цента ...