Fíjate en el valor de UnloadMode, indica el motivo de descarga del formulario:
0 - El usuario a pulsado en la X.
1 - El formulario se ha descargado por código (Unload Objeto).
2 - Windows se está cerrando.
3 - Se cerró desde el administrador de tareas.
4 - El form MDI Child se cierra porque su 'padre' se cierra.
5 - Un form se cierra porque su formulario propietario se cierra.
Cuando detectes que UnloadMode = 0 (es igual a cero), entonces das al parámetro Cancel que se pasa por referencia el valor 1, cancelando la operación de descarga.
Te aseguro que esto funciona así en cualquier plataforma o versión de windows que utilices.
De todas formas me acabo de fijar en un gazapo en el código que te escribí, seguro que no funciona por esto:
Don dije...
If vbCancel = MsgBox( "¿Desea realmente salir?",vbOkCancel,"Salir") = vbCancel Then
Debería decir...
If MsgBox( "¿Desea realmente salir?",vbOkCancel,"Salir") = vbCancel Then
Pero hoooombre...hay que se fijar maaaaás.
Chao.