en muchas ocasiones los procedimientos no se guardan en cache.
por eso hay que llamarlo con una conexión normal y luego de rescatar el arreglo con mysql_fetch_array() cerrar y liberar la conexión.
esto es lo que me resulta a mi.
ejemplo:
Código PHP:
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}else{
echo 'Connected successfully';
}
$query="call NuevoP(18)";
$result = mysql_query($query,$link);
$b= mysql_fetch_array($result);
mysql_close($link);
echo $b[0];
?>