Боже, ну ты и накрутил кодов! По-моему проще можно. Тогда и глюка этого не будет и в помине. А так конечно - у тебя запросы-то параллельно выполняются.
Вот как бы я сделал:
1. В Аксесе подключил бы нужные таблицы из SQL-сервера как связанные. Это дало бы сразу преимущество, что коннекшинов вместо трёх всего один будет.
2. Сделал бы запросик уже через Аксес, получающий ID. И потом следом 2-й. А между ними не забыл бы вставить DoEvents().
3. Кроме того напоминаю, что закрывать коннекшн полезно после каждого запроса - это правило особенно действует в ASP.NET (если под Win пишешь, то необязательно, хотя и желательно.)
Ну вот и всё.
P.S. извини, что долго не был на связи
Max Pro