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.