Cambia esto en tus dos ultimos scripts:
Código PHP:
//con este se me crean las cajas y el usuario escribe los nombres
<html>
<head>
<title>Sans Titre</title>
</head>
<body bgcolor="#FFFFFF">
<form action="imprimir.php" method="POST">
<?
$cajas=$_POST["n"];
for($i=1;$i<=$cajas;$i++)
{
echo"<center><input type=\"text\" name=\"nombres[$i]\"></center>";
}
echo"<input type=\"hidden\" name=\"cajas\" value=\"$cajas\">";
?>
<input type="SUBMIT" >
</body>
</html>
//Aqui el problema por ke no me imprime nada supuestamente guardo todo en el array para imprimirlo
<html>
<head>
<title>Sans Titre</title>
</head>
<body bgcolor="#FFFFFF">
<?
$numero=$_POST["cajas"];
var_dump( $_POST['nombres'] );
?>
</body>
</html>