Используй COM, но старайся минимизировать частоту обращения к COm-объектам, иначе можешь сильно потерять в скорости работы кода. Например если работаешь с результатом запроса другой базы, то обычно лучше привести запрос к результату из примитивных типов, сериализовать его целиком, десериализовать в твоем контексте и работать уже с обычной (не COM) таблицей значений.