I do think that the dev team should have access to the QA DB. There are far too many scenarios that come up on a daily basis within testing that having a "pristine" DB is just not possible most times. Allowing a developer to edit/change data for the QA Team is also extremely valuable, as actually creating the data through an app or customer path can take too long for release cycle purposes.
We use Stackify's app (stackify.com) that allows the QA team to query their DBs at anytime to pull back end data for validation testing. This helps new and less experienced QA to access data without having full DB access, and being able to see saved queries for regression testing as well. Their app also allows our team to limit all users (dev, qa, etc.) access to DBs/Apps/Logs on a user basis if we wanted to lock things down for any given reason.