If you remove the Dynamic template off the home page the Preview Changes will immediately start working.
Wordpress was originally built as a blog, and the 'past revisions' functionality, which is closely tied in with Preview Changes, is unable (at this time) to show previews of changes made to a page modified via a dynamic template.
The simplest thing to do for now, (other than rewriting multiple core files), would be to create an orphan, no-index/ page, with a canonical link to the homepage, and first look at previews on this pseudo-staging page prior to pushing them live. It is unfortunately a bad habit many website operators have grown accustomed to - testing previews on a live website - which have caused more grief than necessary.
My recommendation is to go with this temporarily or to do what more and more experts are recommending, to set up wordpress within a GIT repository (http://wpengine.com/2012/08/git-push-is-working-for-our-customers/) which provides version control functionality among other countless benefits for both you and the client. It's also free.