This is a heads up to users who run their own servers with proper unix permissions.
There is code in the wordpress file system that checks if the owner of a newly created temp file is the same as the owner of the wp-admin/includes/file.php file and then prompts for FTP credentials if it isn't.
This has been reported as a bug in http://core.trac.wordpress.org/ticket/10205 for those who are interested in the details and workarounds. Finding the cause of this took me most of a day because I suspected that it was unix permissions, ownership of the wp-content directory or maybe some selinux nonsense. Turning off selinux and setting all permissions to 777 (totally insecure, i know) didn't fix it. Setting the FS_METHOD to direct came close, but it required setting the ownership of the site files to apache to really get around it.
I hope I've used enough keywords in this post that others will be able to find this problem quickly.