No se si lo he entendido bien pero creo que lo que te pasa es que no se cumple la condición y te hace el header mandandote otra vez al archivo A.
¿Tienes codificado el email reemplazando algunos caracteres para guardarlos en la base de datos?
¿As probado a reemplazar el header por un echo $_SESSION['email'] para comprobar si te entra en el if y por que?
Código PHP:
<?php
session_start();
if($_SESSION['email'] != "[email protected]") {
var_dump($_SESSION);
} ?>