Pues probablemente a de ser como procesas las variables en B.php x k a mí si me funciona. Aquí te va un ejemplo haber si te queda más claro:
A.php
<?php
if (isset($_POST['submit']))
{
require ("B.php");
}
?>
<form name="frm" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="nombre"><br/>
<input type="submit" name="submit" value="Enviar">
</form>
y B.php
<?php
$nombre = $_POST['nombre'];
echo $nombre;
?>
Espero ahora sí te sirva. Suerte