Насколько я могу судить / помнить, вам не нужно делать ничего особенного.
Я проверил 32-битный ATL COM EXE-сервер, который я написал специально для вызова из 64-битного кода (http://www.pretentiousname.com/adobe_pdf_x64_fix/index.html), и регистрационный код является полностью стандартным (если я не забыл и сегодня не могу что-то увидеть Я должен был изменить).
Если код 64-битной стороны, вызывающий CoCreateInstance (Ex), специально не передает CLSCTX_ACTIVATE_64_BIT_SERVER, COM должен автоматически проверять 32-битный реестр, если это необходимо. (Даже если CLSCTX_ACTIVATE_64_BIT_SERVER пройден, он все равно может это сделать. MSDN не совсем ясно, является ли этот флаг предпочтением или требованием. Я предполагаю, что он все равно не передается.)
Возможно, проблема не в том, как зарегистрирован COM-сервер, а в чем-то другом. Или, может быть, зарегистрирована поврежденная 64-битная версия сервера, может быть, из более ранней стадии разработки / тестирования, которая выбрана на 32-битном сервере и не работает?
Кстати, есть различия в том, какие разделы реестра разделены на 32/64-битные в Windows 7 по сравнению с более ранними версиями ОС, но я знаю по опыту, что вам не нужно делать ничего особенного в Vista, Windows 7 и Server 2008 R2. Я лично не тестировал другие версии ОС (например, XPx64).