Would you consider two additional overloads for GetAsDataReader?
GetAsDataReader(IRetrievalQuery) <--transaction null and command behavior is close
GetAsDataReader(IRetrievalQuery, CommandBehavior) <--this makes transaction null
These are just wrappers on GetAsDataReader(Transaction, IRetrievalQuery, CommandBehavior)