quello che devi far partire dopo è il send. Fa il preload senza timeout e mettilo nel req.send
codice:
function ahah(url, target, method, parameters) {
	preload(target);
	req=this.createXMLHttp(); // creo l'oggetto XMLHttpRequest
	if(req){
		req.onreadystatechange=function(){ahahDone(target);};
		if(method == undefined){method="GET";}
		req.open(method, url, true);		
		if (method == "GET" || method == "get"){			
			setTimeout('req.send("")',4000);
		}else{
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			req.setRequestHeader('Content-length', parameters.length);
			req.setRequestHeader('Connection', 'close');
			req.send(parameters)
		}
	}
}