Why dont you want to give the developers access to the Connection object?
Sorry I dont think combining queries and executing them in a Transaction Block is the best approach. IMHO I think you should at least dev's access to some methods in the System.Transaction namespace.
See this article
Introducing System.Transactions in the .NET Framework 2.0 and have a brainstorming session about giving your DAL some TransactionScope class lovin.