Aus den Dokumenten (für SQL Server kompakt, aber immer noch relevant):
Im ersten Beispiel öffnen Sie eine Verbindung in einem Transaktionsbereich. Im zweiten meldest du dich nicht an.
Versuchen Sie Folgendes hinzuzufügen:
cmd.Connection.EnlistTransaction(Transaction.Current);
Um zu sehen, ob das hilft.