OK, I've identified the problem, so I'm writing this in the hope that it will be of interest to all those who helped, and helpful to others who may encounter the same problem. After going through all the tests I mentioned, it is definitely a password issue. As suggested back in December on the MySQL web site
here, the Windows Perl setup still does not support the new MySQL password system. The latest versions of the packages are: DBD-mysql 2.9004, DBI 1.48. There is a 2.9006 version of DBD-mysql on CPAN, but this does not appear under the ppm repositories for Windows, so I suspect it may not be available for Windows.
If an upgrade has been done to, or a clean install of, a version of MySQL with the new password system, then new passwords will by default be installed. If the configuration file is changed to old passwords, this will apply only to newly created passwords, and NOT to existing passwords. These can be changed by the command
update user set password = old_password(string) where user = username;
MySQL 4.1.x seems to accept a mixture of new and old passwords quite happily. So, I have a test user set up with restricted access with an old password so I can play with Perl, and all other users set up with new format passwords. I'll keep an eye out on the upgrades, and report back if & when I find one that solves the problem finally.
Update 28/4/5 DBD-mysql 2.9006 is now available from the default ActiveState repositories under ppm, and it solves the problem. Connections using the stronger password encryption work perfectly.
Thanks again to all those who helped.
Regards,
John Davies