I suggest the Virtualmin "Re-Check Configuration" feature should also check whether the Apache module php5_cgi is enabled - and if so whether php5_cgi.conf contains
SetHandler application/x-httpd-php which should be commented out to make PHP via (f)cgi work correctly.
With recent PHP 5.4.13 this mod seems to be enabled by default and the .conf file does have that line.
I don't know about earlier versions, but at least 5.4.11 seems to have the same issue.
On my Ubuntu 10.04 system I had updated PHP to 5.4.13 and instantly .php files were not processed anymore but served to be downloaded as plaintext.
Also see this forum thread, where someone else experienced a similar problem, same resolution. He had this problem on a fresh(!) Ubuntu 12.04 server with PHP 5.4.11: https://www.virtualmin.com/node/25521