No entiendo porque separas las variables con un list y luego las vuelves a colocar en el array con noticia[] = variable
O usas las varaibles directamente (que ya las tienes) o, si prefieres usarlo como matriz, solo asigna $noticia = mysql_fetch_row($consulta);
Por ultimo, no veo donde estes analizando si $imagen o $noticia[5] tiene algun valor para usar o colocar la imagen predefinida.