AF>С регистрацией есть проблема — объекты регистрируются в системе глобально. Это значит, что если вы оформили вашу библиотеку как COM объект, зарегистрированный в системе, все приложения будут пользоваться одной и той же копией. Это затрудняет распространение приложений, поскольку приложения должны заботиться, чтобы не заменить уже существующую версию библиотеки более старой.
Это всё легко обходится начиная с Win98 — компоненты устанавливаются в каталог с приложением, создаётся файл MyComponent.Dll.local. Справедливости ради надо отметить что это замечательно работает как с COM-овскими, так и с не-COM-овскими Dll
Ещё я бы отметил такой минус как необходимость наличия администраторских прав для регистрации COM Dll. Хотя опять же — и это обходится, хотя и с чуть большими ухищрениями (через RegOverridePredefKey).
... << RSDN@Home 1.1.4 stable rev. 510>>