Просто предположение, но я могу быть из-за того, что движок Jet имеет кеш чтения и ленивые записи:
Как реализовать многопользовательские пользовательские счетчики в Jet 4.0 и ADO 2.1
"Microsoft Jet имеет кэш-память чтения, которая обновляется каждые миллисекунды PageTimeout (по умолчанию 5000 мс = 5 секунд). Он также имеет механизм отложенной записи, который работает в отдельном потоке для основной обработки и, таким образом, записывает изменения на диск асинхронно . Эти два механизма помогают повысить производительность, но в определенных ситуациях, требующих высокого параллелизма, они могут создавать проблемы. "
В статье предлагается использовать метод Jet RefreshCache и установить для Jet OLEDB: Transaction Commit mode значение 1 миллисекунду (одно преимущество ADO над DAO для Jet заключается в том, что вы можете изменить этот параметр без изменения значения в реестре).
P.S. вам следует подумать о том, чтобы отредактировать базу данных Access (.mdb), чтобы вместо нее упомянуть 'Jet', а также использовать тег 'Jet', в противном случае вы получите комментарий от определенного пользователя SO, который привередлив в этих вещах:)