When TransactionScope first came out, I ran into some serious issues getting it to work between my dev machine (XP) and our database server (Windows Server 2003).
Wh
There are still issues regarding TransactionScope. In my current project we are at irregular intervals running into both “Unable to enlist in a distributed transaction” exceptions and TransactionInDoubtException. Both exceptions related to TransactionScope. One workaround for both exceptions is to use a single oracle connection (if applicable of course). Read about this in: Avoid unwanted Escalation to Distributed Transactions
For information on performance impact please read my post: Performance impact using TransactionScope