OK, this is what I figured out:
Given my web service data source, the XML of the saved data I retrieved is in the node GetDataResult. I get the DOM for the GetData connection and cast is to an IXMLDOMDocument2. I use the setProperty method to setup the SelectionNamespaces so I can select the GetDataResult node. If there is no data, I don't have a previous saved version (this is how MY webservice works, yours may differ). I create a new IXMLDOMDocument and load it from the string. Now I have a source DOM I can copy from. The implementation details here are going to depend on what you want to do. In my case, I empty out a repeating list and then merge the form.
IXMLDOMDocument2 getData = (IXMLDOMDocument2)thisXDocument.GetDOM("GetData");
getData.setProperty("SelectionNamespaces", "xmlns:dfs='http://schemas.microsoft.com/office/infopath/2003/dataFormSolution' xmlns:ns2='http://mywebsite.com/mynamespace'");
IXMLDOMNode aNode = getData.selectSingleNode("/dfs:myFields/dfs:dataFields/ns2:GetDataResponse/ns2:GetDataResult");
if (aNode.text == "") return;
IXMLDOMDocument srcDom = thisXDocument.CreateDOM();
srcDom.loadXML(aNode.text);