Hi!
table.insertBefore(thead, tbody[0]);
Das wäre immer noch nicht ganz richtig. Ich hatte zwischenzeitlich noch gefunden, dass es eine spezielle Methode zum Zugriff und gegebenenfalls Erzeugen von thead gibt: createTHead(). Das reduziert deinen Codeaufwand und die Probleme, die richtige Stelle zu finden, drastisch.
Noch eine Frage am Rande, wie kann ich in dem Developer Tool mir die ChildNodes ausgeben lassen?
In deinem Fall hielt der Debugger ja schon an der problematischen Stelle an. Und da (in der Lasche Script) gibt es auch ein "Lokale Variablen" auszuwählen. Wenn da nicht das Gesuchte drin ist, kannst du auch noch auf einen Code-Teil rechts-klicken und "Überwachung hinzufügen".
Lo!