Hola
El funcionamiento es correcto, una vez has creado una cookie en php ties que recargar la página.
La segunda duda, en teoría una vez que a cargado la cookie la tienes que poder consultar hasta que se elimine, pero como tu la estas creando cada vez que entras en a.php puede pasar de todo. Puedes probar con el siguiente código:
Código PHP:
<?php
if( !isset( $_COOKIE["Dato"] ) ) { // Creo la cookie y recargo la página.
setcookie("Dato","Hola",time()+3600,"/");
header( "Location: a.php" );
exit();
}
if( isset( $_COOKIE["Dato"] ) )
print($_COOKIE["Dato"]);
?>