Ungetestet, aber ich denke, das ist dein Problem:
Delphi-Quellcode:
// root := xmlDoc.documentElement.firstChild; // Falsch, documentElement ist schon das Wurzel-Element
root := xmlDoc.documentElement;
Assert(Assigned(root)); // Sicherheitscheck
nNode := root.appendChild(xmlDoc.createNode(NODE_ELEMENT,'ChildNode',nsdef));
nNode.text := strUser;