Does the dynamic php change have a query string or something?
Other than any changes to your site can change your rankings, going dynamic vs. static for automatic updates shouldn't hurt your rankings or give you a penalty.
With 404 errors and pages already in the index, you do 301 redirects. Or name the files the same .html files, in a .htaccess file add
AddType application/x-httpd-php .html to get the html to execute the php.
301 redirect example for your .htaccess file
redirect 301 /path/of/old/file.html http://www.domain.com/full-new-path.php
You can also use Google Webmaster Tools, verify your site, and let Google tell you about any errors that you missed... easy way to make sure those important pages you may have missed get corrected.