He descubierto que el problema no está en usar session_start().
He puesto el código dónde había el set_cookie() en otra página, para primero crear las cookies y luego pasar a otra página, mediante un header(), dónde se crearía la variable de sesión.
Por lo tanto de el formulario paso a la página llamada setcookie.php en la que hay, más o menos, este código:
Código:
setcookie( 'CookieNombre', $_POST['nom'], time() + 31536000 );
header( "location:" . __URL__ . "acceso.php" );
Cuando no hay ningún problema y se pasa a la página acceso.php la cookie no se crea. En cambio si pongo algo que haga petar el header, por ejemplo un echo, o sencillamente no pongo el header, la cookie se crea perfectamente.
La gran pregunta: ¿Alguien sabe por qué?
¿A alguien le ha pasado esto antes? ¿Puede ser algo en la configuración del php?
Espero que me podais ayudar...