Я придумал решение, используя мою оригинальную структуру ...
То есть приложение VBA вызывает приложение-оболочку COM, которое переводит все типы из .Net в безопасные типы COM. Затем эта обертка вызывает основной сервис с использованием удаленного взаимодействия .net.
Проблема, с которой я столкнулся, заключалась в том, что общие библиотеки между оболочкой и службой должны находиться в папке C: \ Program Files \ Microsoft Office \ Office12 (рядом с msaccess.exe).
Пока я использовал метод AssemblyResolve для предоставления библиотек во время выполнения, это не сработало ... Так что сейчас мне просто нужно скопировать библиотеки в папку - далеко не элегантное решение, но в по крайней мере, связь работает на данный момент.