Webみたいなマルチスレッドだと、
1つのTDatabase.StartTransactionだと破綻するところが、
TIBTransactionをスレッド毎にCreateすることで回避できるのでしょうか。

こんな感じですか?
IBTransaction.Create;
IBTransaction.DefaultDatabase = IBDatabase
IBTransaction.StartTransaction
try try
 //処理
 IBTransaction.Commit;
eccept
 IBTransaction.Commit;
end
finally
 IBTransaction.Free;
end