ovvio che no : lascio solo la "nuova" onbeforeunload.

e ti posso assicurare che và perchè se chiudo/cambio la finestra, sul database scrive...

il problema principale è questo : quando apro più browser (un chrome, un firefox, un IE) e faccio le varie prove. l'onbeforeunload funziona sempre (appunto con l'alert mi accorgo che la invocano ogni volta) è la funzione ajax che non scrive sul database. sembra quasi che vada in conflitto con le altre istanze del database impostate nei vari browser (dubito fortemente che questo possa accadere).

la funzione "ajax" invoca questa pagina .php che và a scrivere sul DB :
Codice PHP:
include("../database/config.inc.php");          

// rimuovo atomicità editing     
$update mysql_query("UPDATE tracklist SET block = '0' WHERE trackid = '".$_POST['trackid']."'",$mydb);     
$update mysql_query("UPDATE tracklist SET blockuser = '0' WHERE trackid = '".$_POST['trackid']."'",$mydb);         
$update mysql_query("UPDATE tracklist SET blockdate = '0000-00-00 00:00:00' WHERE trackid = '".$_POST['trackid']."'",$mydb);    

mysql_close($mydb); 
ogni tanto và, ogni tanto no! ajax ha bisogno di parametri strani? o magari completa l'esecuzione solo quando in return riesce a passare tali parametri...