For about a couple of months some of my WordPress blogs have not been upgrading cleanly. The automatic upgrade (using the plugin or the core feature) has been failing midway without any errors or explanations. Today via good old Googling I finally discovered a way to fix it. To be safe take a backup of the files, folders and database of your WordPress installation before trying this out.
The solution is to add the following 2 lines (plus 2 comments) in the WordPress .htaccess file:
# Ensure PHP5 being used
# For WordPress auto upgrade
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php
This made the problem go away. It seems like WordPress was getting confused by the presence of both PHP4 and PHP5 on my shared web host, 1and1, and was failing silently.