Estás usando mal la función mail() .. repasa sus parámetros ..
www.php.net/mail
$envio=mail("$destinatario,$email", "Email de Reservación WEB °ULSA CANCUN°", $EMailMensaje, "From: $email");
El "FROM: $email" ya es un $header .. así que no tinens que poner comas por médio . si deseas más cabeceras HTTP para mail() debes componerlas como una cadena (string) en el 4º parámetro ..
Puedes usar también:
Código PHP:
if (mail(.....)){
header ("Location: $gracias");
exit;
} else {
header ("Location: $fallo");
exit;
}
sin necesidad de tener que pasar por una varible $envio como lo haces ... Usa exit; despues de los header ("Location ..."); ...
Y usa mas cabeceras HTTP para el mail() (en el link que dejé están y en las FAQ's del foro tienes un ejemplo también) .. así te aseguras que pasen mejor tus e-mails por filtros anti-spam ..
-----
Sobre tu solución al problema de recepción de variables .. La solución no estaba en pasar a ON esa directiva de tu php.ini (register_globals) sino la de trabajar por tu -seguridad- usando los arrays superglobales $_POST, $_GET .. etc .. Hay una FAQ (de las primeras) que habla del tema .. leelo por el bien de tus aplicaciones.
Un saludo,