While trying to figure out why my SubSonic transactions were behaving strangely, I wrote some "tests" using raw ADO.NET and TransactionScope. I found that in one case the transaction is not rolled back like I would expect it to, and in another one an exception occurs. Here are four simple examples...