Hola,
Apuesto por register_global a OFF cuando antes estaba a ON. Sobre todo si $idcasa es un parametro de un formulario o de un link. Mira unas de las primeras FAQs, van sobre el tema y explican como actuar.
De todas formas, el error te lo da porque el parametro que le pasas a mysql_fetch_array() no es valido. Y no es valido porque mysql_query() ha devuelto un valor no valido (false). Y mysql_query() devuelve un valor no valido cuando se ha producido un error MySQL. Para ver el mensaje de error, debes usar mysql_error() (
www.php.net/mysql_error), por ejemplo:
Código PHP:
$SQL="Select Nombre,localidad from alojamientos where idcasa=$idcasa";
$query=mysql_query($SQL,$cx) or die("Error en $SQL <br>MySQL dice: ".mysql_error());
$campos=mysql_fetch_array($query);
Saludos.