Hallo Spoon,
habe mir Deinen Quellcode nur kurz angeschaut.
Meine Vermutung:
content.document.getElementsByTagName("a")
übergibt nur eine Referenz, und wird bei jedem Zugriff aktuell ausgewertet.
Mögliche Lösung wäre, Deine alten und neuen Knoten so zu markieren, daß Du sie unterscheiden kannst. Zum Beispiel, indem Du keine A-Knoten einfügst, sondern irgendetwas anderes, was nicht in Deinem Dokument vorkommt, und nach Ende des Einfügens die irgendwas-anderes-Knoten umwandelst in A-Knoten.
Viel Glück!
RK