Just a general comment here. When upgrading to a new version of webwork it's worth checking to see what has changed in global.conf, as new things seem to be added or changed with every new version.
I think the easiest way to do this is to run the command
cvs diff -r rel-2-4-patches global.conf.dist
in your webwork conf directory before you upgrade. This will tell you what has changed in the configuration file between the version you are running and the current version. You can then manually update your global.conf to add or change anything that is different. The other alternative is to start with a fresh copy of global.conf taken from the most recent version of global.conf.dist, (i.e. copy global.conf.dist to global.conf after you upgrade) and then customize it for your needs whenever you upgrade.
In fact, it would be really nice if there were a tool similar to wwdb_upgrade which would update global.conf to make sure it is compatible with the current version of webwork (i.e. something which tracks which settings in global.conf were changed/added in each version of Webwork), since it is tedious to have to fix the configuration file each time you upgrade.
Gavin is correct that Webwork is not getting the correct value for the username and password. You can see this in the error message. The syntax is DBI::Connect($database,$username,$password) . Since the second argument in your error message is '', it means that Webwork is sending a blank username, so it defaults to the username running the process, which is usually apache. You can also tell that it is not sending a password since it says "using password: NO". Adding the %sqlParams hash as Gavin suggests should fix this.