Danke für alle Rückmeldungen. Ich habe mit jemandem von MSFT in den MSDN-Foren zusammengearbeitet, um herauszufinden, was los ist. Es stellt sich heraus, dass das Problem darauf zurückzuführen ist, dass einer der Einsätze aufgrund eines Konvertierungsproblems für Datum und Uhrzeit fehlgeschlagen ist.
Das Hauptproblem ist die Tatsache, dass dieser Fehler auftritt, wenn es sich um einen Datumskonvertierungsfehler handelt. Wenn es sich jedoch um einen anderen Fehler handelt, z. B. ein zu langes Feld, verursacht dies dieses Problem nicht. In beiden Fällen würde ich erwarten, dass die Transaktion noch existiert, damit ich Rollback darauf aufrufen kann.
Ich habe ein vollständiges Beispielprogramm, um dieses Problem zu replizieren. Wenn jemand es oder den Austausch mit MSFT sehen möchte, finden Sie den Thread in den Newsgroups von MSFT in microsoft.public.dotnet.framework.adonet unter dem Fehlerthread SqlTransaction.ZombieCheck.