La redirección es una nueva petición y, si vas directo al script que comprueba la constante, esta no estará definida.
Debes hacerlo con include, como en el ejemplo que te sugerí; o bien, con variables de sesión, al ingresar en activar.php creas una variable $_SESSION['registro'] = time() + 3600; con lo que el usuario tendrá límite de 1 hora para registrarse y la verificación en registro.php es sencilla:
Código PHP:
Ver originalif(!isset($_SESSION['registro']) || $_SESSION['registro'] < time()) { die('Acceso no permitido'); }
Estoy suponiendo que ya estás familiarizado con las sesiones, aunque realmente no es muy complicado manejarlas.