Eine unterbrochene Verbindung *innerhalb* einer Transaktion wird dazu führen, dass diese *nicht* abgelegt wird.
btw: Gibt es einen besonderen Grund warum du sowas mittelalterliches wie den OleDB Provider nimmst?
Für den
Sql Server solltest du dir mal den namespace SqlClient ansehen.