Se noti l'evento unload ha un parametro (Cancel).
Settando cancel a 1 non si esce....
Ovviamente bisogna gestirlo, altrimenti non esce mai.

Esempio:

codice:
if msgbox("Vuoi uscire?",vbYesNo)=vbNo then
  cancel=1
end if