Вы должны использовать какую-то синхронизацию между двумя процессами. Например, создайте именованное событие ( CreateEvent с именем lpName, которое не равно NULL). Инициализируйте событие на
CreateEvent(NULL /*lpEventAttributes*/, FALSE /*bManualReset*/, TRUE /*bInitialState*/, "AnyUniqueNameThatYouChoose"/*lpName*/);
Таким образом, когда один из процессов хочет использовать файл, он должен сначала WaitForSignleObject для события. Когда это будет сделано, он должен SignalEvent, что позволит другому процессу получить доступ к файлу.
Кстати - VC6 - действительно плохой компилятор. Вы должны рассмотреть возможность обновления до более новой версии.