Grazie mille ^^ funziona benissimo . Ecco il codice finale per chi è interesssato
Codice PHP:
function General_Refresh(url,div){
  
document.getElementById(div).setInnerXHTML('<span id="caric"><center>[img]http://www.youtdomain.com/load.gif[/img]</center></span>');    
  var 
ajax = new Ajax();
  
ajax.responseType Ajax.FBML;
  
ajax.ondone = function(data) {
  
document.getElementById('caric').setStyle('display','none'); 
  
document.getElementById(div).setInnerFBML(data);
  }
  
ajax.onerror = function() {
    
General_Refresh(url,div);
  }
ajax.post(url);

Ovviamente non ho potuto testare a fondo la parte onerror, ma comunque credo funzioni . Per quanto rigurda invece il crash tengo a precisare che il codice che uso per caricare il livello ogni 5 min è questo:

Codice PHP:

function partRefresh(){
  
//Carico il loading
  
document.getElementById('partId').setInnerXHTML('<span id="caric"><center>[img]http://www.narutofansubber.it/public/Naruto Ge-mu/images/loadm.gif[/img]</center></span>');    
  var 
ajax = new Ajax();
  
ajax.responseType Ajax.FBML;
  
  
ajax.ondone = function(data) {
  
//Una volta caricato faccio scomparire l'immagine, carico il file, e faccio partire la funzione
  
document.getElementById('caric').setStyle('display','none'); 
  
document.getElementById('partId').setInnerFBML(data);
  
setTimeout(function(){partRefresh()},900000); // Making time delay
  
}
  
//Se c'è un'errore la ripeto
  
ajax.onerror = function() {
    
partRefresh();
  }
  
ajax.post("mydomain.com");

PS Non sarebbe più sicuro creare un contatore degli errori che se per esempio arriva a 5 tentativi di caricamento smette di caricare onerror la funzione ?