Just an update,
I was never able to get the .net transactionscopes to work. From the following article
http://blogs.msdn.com/angelsb/archive/2004/07/07/175586.aspx
My understanding was that when you bracket code inside of a transaction scope, any connections that are instantiated within the scope would automatically detect that there was a transaction scope around it, and would then automatically register and enlist itself within the transaction.
This never happened, and was unable to find any resources to explain why. I ended up implementing the transactions the old way and associating the connections to the transactions manually.
Something along the lines of :
MySqlConnection mySqlConnection = new MySqlConnectionConfigurationManager.AppSettings["DATABASECONNECTIONSTRING"]);
mySqlConnection.Open();
MySqlTransaction trans = conn.BeginTransaction();
// do work with the connection
// trans.commit or trans.rollback
mySqlConnection.Close();
The only answer I have is that perhaps there the mysql connector that I was using did not support this behavior. Eventually, I would like to test with SQLserver, to see if I can get it to work there.