Извините, я работал в другом проекте. Я нашел простой способ получить версию, используя экземпляр CComDispatchDriver.
CComVariant ccVersion;
// отображение типа CComDispatchDrive
disp.GetPropertyByName ("Версия", ccVersion);
при этом я получаю ccVersion = "11.0" для 2003 и "12.0" для 2007.
Чтобы привести его к строке, я использовал класс CString:
Версия CString;
версия = CString (V_BSTR (& ccVersion));
Спасибо за вашу помощь, я надеюсь, что это может быть полезно для кого-то еще