Strano comportamento dello script successivo.

Codice PHP:
<body onunload="closeAction();">

<
script type="text/javascript">
var 
esci;
esci 'si';
</script>

<script LANGUAGE="JavaScript" type="text/javascript">
function closeAction()
{
if (esci == 'si')
{
window.opener.location.reload();
}
esci = 'si';
}
</script>
.........


<script LANGUAGE="JavaScript" type="text/javascript">
function mailThisUrl()
{
window.location = "mailto:"+document.getElementById('address') .....
}
</script>

.......

<input type="button" name="mail" id="mail" value="Invia mail" disabled="disabled" onClick="esci = 'no'; mailThisUrl()"> 


Il tutto funziona con windows xp e outlook express, mentre con windows 7 e windows mail chiude la pagina senza compilare il nuovo messaggio. Se tolgo l'aggiornamento della pagina madre il tutto funziona egregiamente. Perchè ?