This is very similar to the way we work. We also have SVN as our back end repository and set up developer matches in the site.ini to stop the file from needing to change too often.
Do your developers have a local db too? We find this useful <b>during</b> development, to test things, to break things etc. Though the l/p for the db user should be the same. When the transition to the live box occurs this needs to change.
We also find this tool useful for viewing the svn repository: http://websvn.tigris.org/
They can, but for now, we're going to stick with everyone using the same development database, until we need to have seperate databases. That will let us all kind of work from the same content, and may provide an impetus to communicate ("what's this object of yours? it sounds interesting..." etc.)
If you have seperate databases, do you make any effort at periodically syncing them together?
Absolutely. We do sync regularly and maintain the notion of who has the live db. Having local the db is just a test bed while things become sorted. The live db can be accessed and added to by anyone, then exported out again. Not long into a project this stabilises and only content is added to the live db.
I should stress we haven't scaled this process but it works for the people we have.