il set_time_limit limita il tempo di esecuzione dello script ... tempo globale.

dovresti usare:

ini_set("mysql.connect_timeout", "secondi[int]");

mysql.connect_timeout integer
Timeout di connessione in secondi. Per Linux questo timeout è usato anche per attendere la prima risposta dal server.
Si riferisce solo al tempo di connessione e prima risposta.

fai delle prove. sinceramente so che esiste ma non ne ho mai avuto bisogno. ovviamente andra' messo prima della connessione ed e' disponibile solo a partire dal php >= 4.3.3

http://it2.php.net/manual/it/ini.php#ini.list