Ohh siiiii

Después de muchos quebraderos de cabeza y repasar y repasar el código, aplicar vuestros consejos etc, por fin encontré la respuesta al problema. Fijaos en el "action" del formulario en mi primer post:
echo '<form id="form1" name="form1" method="post" [b]action="'.htmlentities($_SERVER['PHP_SELF']).'">[/b]
Si hago eso, el archivo de acción es el documento 'enviar_noticia.php', y no "enviar_noticia.php?id_noticia='.$_GET['id_noticia'].'" (que es lo correcto) por tanto el documento no obtiene el id mediante $_GET y la consulta sql para hacer el UPDATE nunca daba resultado, a pesar de decir todo el rato que se ha modificado la noticia correctamente

Bueno muchas gracias a todos por vuestra ayuda y vuestros consejos (que estoy empezando a aplicar)
Por cierto naveda yo no me referia a que si no hago $variable = $_POST['variable'] despues no va a estar definida, me expresé mal, en realidad queria decir que tenían nombres más sencillos a la hora de aplicarlos en consultas, funciones etc, aunque por culpa de eso, no me iva, ya que en el documento de acción no podría obtener el id, pues este no estaba definido en el nombre de la url, al final puse todas las variales como me dijistes (todo el rato con el $_POST/GET['variable'] ) y en parte eso fue lo que me hizo localizar el error, así que muchas gracias.
Un saludo
