This will probably not fix everyone's problem, but I'm sure it will help at least some of you with this problem.
First some description of the problem:
I recently moved from WP 2.6.5 to 2.7. I did a fresh install, deleating everything except the wp-content folder and the uploading the 2.7 files. Everything went smoothly and I had no errors.
Once the transition was complete I started exploring the new admin layout and noticed I had a plugin with an update available. I went to the plugins page and attempted to do the 'auto update'. It failed. Moreso it just didn't finish. The download started but then it just hung and wouldn't continue. The updated file was created but never filled (File created but was 0 bytes.) This continued through three more plugin upgrades. The first two I went ahead and did manually with no problems. The third I didn't touch after it failed, hoping to find a solution.
There's been many attempts at solving this and similar problems but no one seemed to know for sure what was actually causing the issue. The closest I found was an issue involving transports such as cURL that made sense to be causing the problem but the fixes didn't seem to do much.
So here's a solution:
I found this by accident. My host runs their servers with php 4 by default but by adding a single line to an .htaccess file you can opt to use php 5. I switched over to php 5 and viola everything was suddenly running just fine.
All I can say is check which version of php your server is using. If it's php 4 try php 5 if you're able (contact your hosting provider for help with this.)