Interesante esto de lanzar ajax con unload... no lo había pensado y se me ocurren muchas aplicaciones (casi todas de control de usaurios, tiempo en la pagina, etc...)
Me parece que es correcto (siempre y cuando el objeto xmlhttprequeste se pueda ejecutar con un unload) aunque tu alert no controla si se ejecutó ajaxo o no solo se lanza y ya está...
para poner un alert de control deberias tu función por esto para ver si funciona... si lo hace avisa que me intriga eso del ajax con el unload....
Código:
var miAjaxObj = MyAjax();
miAjaxObj.open("GET","borrar_temp.php",true);
miAjaxObj.onreadystatechange=function(){if (miAjaxObj.readyState==4){
if (miAjaxObj.status==200){alert("ejecutado");}}}
miAjaxObj.send(null);
La nueva linea lo que hace es definir una función que será la que se ejecute cuando haya conseguido cargar la URL con exito.