Попадал на аналогичные грабли, правда с DAO-классами. Люди в конференциях объяснили, что MFC-калассы для работы с DAO не полностью поддерживают многопоточность. Посоветовали использовать критические секции для ограничения доступа к базе только одним потоком в единицу времени. Мне вроде помогло. Может тебе тоже попробовать поместить куски кода, работающие с базой в критические секции?