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.