Manu sent me a link to an article a couple of weeks back that talks about building a pluggable data access layer. http://www.15seconds.com/issue/020611.htm. The SquishyForums at http://www.squishyweb.com/ use this technique. The nice thing about the pluggable architecture is that you can add support for new Data stores without changing anything in the application. All you have to do is compile the new data store assembly with the appropriate Interfaces and such. I am attempting to use this model to support multiple storage containers for file such as images and documents. I need to be able to treat the database the same way as the fielsystem for file storage.
The implementation you have proposed is very similar to the pluggable solution. The difference I see would be a trade of flexibility for ease of development. I am happy to go either way and excited to see Rainbow move forward to support new DB options beyond SQL server.