Tutto di pende da quanto C è esposto alla faccenda, perché se hai possibilità di compilare C++ puoi tranquillamente richiamare un modulo C++ che svolga il tuo compito, al massimo ricompilare le porzioni di accesso all'archivio iniettando del C++ dove serve. La soluzione ideale e pulita è quella di esternalizzare tutto l'accesso all'archivio tramite routine specifiche anziché mettere in "chiaro" le read/write dentro i sorgenti C che si occupano della logica del programma (vedi applicazioni 3-tier o il modello addirittura il pattern MVC). E' un lavorone ma alla fine ripaga. l'ho fatto secoli fa in BASIC, l'ho fatto in COBOL, l'ho fatto in VB: nascondere gli accessi "proprietari" tramite routine indipendenti; ottenendo lo svincolo dal supporto di archiviazione (oggi VSAM, domani DB2, XML, più soluzioni in parallelo, ecc...).
Altra soluzione che dipende però dalla struttura che avete e dal tasso di aggiornamento dell'archivio mdb rispetto a quello ISAM è la sincronizzazione offerta da MsAccess nei confronti di una fonte dati ISAM, visto che se non sbaglio Access può accedere automaticamente via ODBC ad archivi ISAM.