Díky za všechny názory. Pracoval jsem s někým z MSFT na fórech MSDN, abych zjistil, co se děje. Ukázalo se, že problém je způsoben selháním jedné z vložek kvůli problému s převodem data a času.
Hlavním problémem je skutečnost, že tato chyba se objeví, pokud se jedná o chybu převodu data. Pokud se však jedná o jinou chybu, například příliš dlouhé pole, tento problém nezpůsobuje. V obou případech bych očekával, že transakce stále existuje, takže na ni mohu zavolat Rollback.
Mám úplný ukázkový program pro replikaci tohoto problému. Pokud si někdo přeje vidět to nebo výměnu s MSFT, můžete vlákno najít na diskusních skupinách MSFT v microsoft.public.dotnet.framework.adonet pod vláknem chyb SqlTransaction.ZombieCheck.