Реально правильный подход к компонентострительству - многоуровневые системы. "FibPlus" сверху. Полностью защищенный объъектный(!) низкоуровневый движок внизу. Шо проверено на моих многочисленных дурацких экспериментах. ADO, например, тоже не многопоточное. Но у меня оно именно в таких условиях и работает. Потому что провайдер (якобы) многопоточный. А реально провайдер тоже нихрена не многопоточный (то есть он защищает только себя, но не подключение к БД). А подключение защищено этим самым "объектным" движком. И пока эти вещи будешь делать, получешь не только черный пояс по камасутре, но и разрешение её преподавать. Бугага.
У тебя архитектура "коннект-на-поток" или "коннект-на-приложение"? Как с транзакциями? Они к потокам жестко привязаны или нет?

