I battled with permission problems with Subversion ssh access for months until I finally nailed it down: set the umask to 002 in /etc/bash.bashrc --
http://mg.pov.lt/blog/setting-umask-for-subversion.html contains the full story.
ViewCVS also used to cause occasional problems that disappeared once we added a robots.txt file kindly asking search engines not to hammer our repository.
BTW I like your post-commit hook + cron job solution for getting a reasonably up-to-date checkout.
Off-topic: a Preview button in the add new comment form would be nice.