Ok, My guess is that you don't have php correctly installed. Correctly installed, a a server with php correctly installed will tell the browser (through the headers) "Hey you! I am really HTML! Ignore that .php extension!" Incorrectly installed, the server doesn't know what to do with the .php extension, so it doesn't put any headers with it, doesn't parse it, and passes the problem on to the browser, which then says "Gee, I really don't know what it is either, I guess it must be a file" and then tries to download it.
I would double check the install.
Good call on the Dev server. Personally, I have a test server, which gets test configs (as in new versions of php, apache, etc), a dev server, which gets pages in development, and a production server, which gets production stuff.
D