>1つのTDatabase.StartTransactionだと破綻するところが、
>TIBTransactionをスレッド毎にCreateすることで回避できるのでしょうか。

>IBTransaction.Create;
>IBTransaction.DefaultDatabase = IBDatabase
>IBTransaction.StartTransaction
>try try
> //Query処理
> IBTransaction.Commit;
>eccept
> IBTransaction.Rollback;
>end
>finally
> IBTransaction.Free;
>end

↑
Query処理とIBTransactionとが1対1に出来ればこれでよいと思いますが、
IBTransactionとIBDatabaseが結びついてるわけで、
Query処理がマルチスレッドで動作したときには、
別スレッドのトランザクションが、勝手にCommit/Rollbackして干渉しちゃいますよね?