Ага, вот я и вернулся

Сообщаю.
VS6 распознал переданный через командную строку obj, созданный в VB. Только вот по дефолту extern int __stdcall VBFunction(int, int) компилятор преобразует в ... в общем, меняет имя, как и всегда

, и вот это новое имя не совпадает с изменённым именем этой функции в VB-obj, поэтому и получается один неразрешённый внешний.
Кстати, сначала таковых было два, поскольку obj №1 ещё ссылался на функцию проверки переполнения. Когда добавил в командную строку VC ссылки на Project1.obj и VBAEXE6.lib, функция переполнения успешно разрешилась.
Вывод: линковка возможна в принципе. Нужно только понять, как избежать несоответствия изменённых имён

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас