Ok i've found a couple of solutions if anyone is looking. They aren't perfect but they are doing the job.
For the main development period before go-live I use Deploymint (http://markmaunder.com/2011/08/19/deploymint-a-staging-and-deployment-system-for-wordpress/). This is based on Git and is great for your moves between Dev, Stage and Production. However, the problem with it is that when you take your snapshot of Prod to bring back to Dev, if Prod keeps changing (ie. new posts, edits, comments etc.), there is no capability to merge (yet?) and so that will be lost.
I've been using this for major changes (Design etc.) and it has worked fine. To get around the issue of merges, I just look at the changeset to find which files I need to update.
The second part of the equation is Crowd Favorite Ramp (http://crowdfavorite.com/wordpress/ramp/). Ramp is good for using stage to make changes to content before pushing them to prod. Great for the content guys and helps to prevent embarrassing changes to Prod!