Hola otra vez.
He estado mirando la función y he cambiado lo siguiente. Ahora si funciona:
Código PHP:
function registro_mayor ($campo, $tabla){
$result = mysql_query("select $campo from $tabla order by $campo desc");
@$registro = mysql_result($result,0);
return $registro;
}
He puesto la cláusula order by $campo desc con lo que me los ordena de mayor a menor. Entonces con el mysql_result me situo en el primer registro que contendrá el mayor de los ID.
Devuelvo el mayor de los id y le sumo uno con lo que ya tengo el ID correspondiente para la siguiente noticia a guardar.
Gracias por tu ayuda, me has ayudado bastante.

Saludos.