Tienes algunos fallos en cuanto a comillas simples y dobles, te faltaba cerrar algunos <td> en la tabla, mal anidado el ultimo </font>, </tr> delante de </td> a veces, <table> y </table> tienen que ir fuera del bucle while para que no te cree una tabla por cada registro... por lo demas no veo porque te da problemas en un servidor si y otro no... recibe bien las variables en todos los servidores no?
Te dejo este codigo modificando el tuyo con lo de las comillas tablas y demas..
Código PHP:
<?
$id = $_REQUEST['id'];
$fecha = $_REQUEST['fecha'];
$autor = $_REQUEST['autor'];
$noticia = $_REQUEST['noticia'];
$extendida = $_REQUEST['extendida'];
echo " ".$id." ";
$db = mysql_connect(localhost,xx,xxx);
mysql_select_db(noticias);
$query = "select * from noticias where noticiaid like '$id'";
$kery = mysql_query($query);
echo "<table>";
while ($datos = mysql_fetch_array($kery))
{
$fecha = date("d/m/Y",$datos[fecha]);
$id = $datos['noticiaid'];
echo "<tr><td><font size=1 face=verdana><center>".$fecha."</td></font>";
echo "<td><font size=1 face=verdana>".$datos['noticia']."</td></font>";
echo "<td><font size=1 face=verdana>".$datos['extendida']."</td></font>";
echo "<td><font size=1 face=verdana>Escrita por: <b>".$datos['autor']."</b></font></td></tr>";
}
echo "</table>";
// mysql_query($kery); //para que vuelves a hacer esto????
mysql_close($db);
?>