Thanks Ipstenu, I’ll try this when I create a new user blog. I found the following explanation for the suggested code:
If a host uses restrictive file permissions (e.g. 400) for all user files, and refuses to access files which have group or world permissions set, these definitions could solve the problem.
Theoretically the issue is not ‘refusing to access files’, rather just refusing to write to files which have a global owner (Apache).
I have tried both letting WordPress create its subfolders, or me creating them via FTP. In both cases the owner is set to Apache.
For instance, if my server admin has set my username as owner of blogs.dir, then WordPress is able to create the first subfolder (blogs.dir/3/) but not the second (blogs.dir/3/files/) because folder ‘3’ has Apache as owner.
I had the same issue with my global blog (example: myblog.com) and needed to change owner for /wp-content/uploads/.
Once all upload folders are owned by my username then WordPress is able to write media files to them.
For some reason, there was no such problem with previous versions such as 2.8.