Dr Mike,
Thanks for responding.
As sometimes happens on these occasions, I solved the problem myself through some minor changes. It's like suddenly recovering from illness while waiting to see the doctor.
Since I have two WPMU installations (one live and one test) I was able to experiment with various parameters on a WPMU system without inconveniencing bloggers.
The primary reason that uploads did not work was that the Apache settings were not correct. What I had was wrong in the AllowOverride directive which was set to None when it should be
' <Directory "/srv/www/vhosts/domain.com">
Order allow,deny
Allow from all
Options FollowSymLinks
AllowOverride Options FileInfo
</Directory>'
..because otherwise it won't read the .htaccess file at all.
But when I transferred this proper directive to the live WPMU system, the server gave a 500 error when trying to access anything! And it was caused by the AllowOverride directive being anything other than None.
A quick check of the domain-com-errorlog in /var/log/apache2 revealed the error:
'/srv/www/vhosts/domain.com/.htaccess: RewriteBase: argument is not a valid URL'
A squint in .htaccess showed the first two lines as
RewriteEngine On
RewriteBase BASE/
So for some reason in the install, the word BASE had been inserted.
Changing the beginning to:
RewriteEngine On
RewriteBase /
fixed my problem.
I'm certainly learning Apache2 advanced configuration fast this way...