sounds like mysqld is already running:
try using mysqladmin to change the wait_timeout variable like so:
mysql_admin -uuser -p --set-variabable wait_timeout=3600
As an experiment, have you tried change to just mysql_connect, if the database is running on localhost or even if it's not, then this might save valueable ram speeding things up tremendously, when the connect time might be negligible anyway. I'm just theorizing tho, I've never run a site that busy before. You might also want to look into other settings in you /etc/my.cnf file.