Ich benutze ganz normal den mit Delphi mitgelieferten... (
Unit msxml)
Einziges Problem war, dass auf Embedded Systemen die entsprechende Windowskomponente nicht vorinstalliert ist, aber die gibt es auch separat zum Nachinstallieren.
Verschieben eines Knotens (inkl. Unterknoten) geht ganz einfach mit appendChild.