il set_time_limit limita il tempo di esecuzione dello script ... tempo globale.
dovresti usare:
ini_set("mysql.connect_timeout", "secondi[int]");
Si riferisce solo al tempo di connessione e prima risposta.mysql.connect_timeout integer
Timeout di connessione in secondi. Per Linux questo timeout è usato anche per attendere la prima risposta dal server.
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