Строка класса называется ProgID (сокращение от идентификатора программы), и на самом деле это просто читаемая версия ClassID.ProgID хранятся в реестре в HKEY_CLASSES_ROOT, например, выбирая один случайный случай из моего реестра:
HKEY_CLASSES_ROOT\Microsoft.XMLDOM
В этом ключе есть еще один ключ с именем CLSID:
HKEY_CLASSES_ROOT\Microsoft.XMLDOM\CLSID
И внутри тот ключ является значением REG_SZ, которое содержит ClassID:
{2933BF90-7B36-11D2-B20E-00C04F983E60}
Таким образом, в основном, все работает так, что COM попытается найти CLSID в реестре по указанному ProgID.Я предполагаю, что это не там или это недоступно как-то.Если вы хотите выяснить это наверняка, откройте REGEDIT.EXE и посмотрите, есть ли ожидаемые настройки реестра.Если это не так, есть ваш ответ о том, почему он не работает (по какой-то причине регистрация COM-компонента не создает ключи ProgID).
Если настройки есть, я бы порекомендовал запустить Process Monitor (sysinternals.com) и настроить некоторые фильтры реестра, чтобы увидеть, что происходит, когда реестр сканируется на этот ProgID.
Вотнемного больше информации о ProgID:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd542719(v=vs.85).aspx