Te dire que faltaría un poco de información para decirte exactamente cual es el problema. Necesitariamos el codigo de este archivo, y de welcome.php enteros para analizar bien, ya que pueden ser varios motivos.
Pero más allá de eso se me ocurre lo siguiente, que en el archivo welcome.php al inicio del script no pusiste el session_start(), y esta función tiene que estar en todas las páginas en donde quieres que se mantenga la sesion.
Otra cosa, si trabajas con un servidor PHP 5 este código de va a dar un error:
Código PHP:
if($numfila==1)
{
session_start();
$_SESSION['estado']=logueado;
header("Location: welcome.php");
}
else
{
header("Location: error.php");
}
Ya que a partir de la version 5 no podes enviar los encabezados una vez que ya mandaste información. Esto lo solucionas con las funciones
ob_start() y
ob_flush()
Espero que te sirva