Да, сам по себе BODY onunload меня не устраивал, но условие
if (document.body.clientWidth == w) {alert(\'Посетитель закрыл окно\');}
дает возможность точно определить что посетитель закрыл окно, а не просто обновил его или перешел на другую страницу в этом же окне. Только повторюсь - не понимаю каким это мистическим образом она работает (т.е причем здесь document.body.clientWidth - не вижу зависимости между закрытием окна и шириной рабочей области).
Главное работает, правда не всегда