Вам нужно импортировать узел в документ, прежде чем добавить его:
XmlNode oNode = moDoc.CreateNode(sNodeType, sName, sNamespaceURI);
//necessary for crossing XmlDocument contexts
XmlNode importNode = oParent.OwnerDocument.ImportNode(oNode, true);
oParent.AppendChild(importNode);
return oNode;