I may have inadvertently figured it out.
In the IE example, since I could see that data[0].xml had the string in it I was looking for, I changed the line
from return this.xml to return data[0].xml
and was able to get IE to start working.
Then it finally dawned on me what was apparently happening. IE didn't have data[0].outerHTML available to it, but DID have data[0].xml (string) available.
Firefox though, still continued to give me the error message, and it finally occurred to me that since it had previously been working using outerHTML, that it already had it in a string format I could use. I got rid of the XMLSerializer & serializeToString and simply changed the line from:
xmlString = serializer.serializeToString(data); to
xmlString = data[0].outerHTML;
and returned xmlString (a line of code omitted earlier)
and Firefox began working.
Since I arrived at this by lots of trial and error, I am wondering if I have simply backed into something that worked, or if there is a better way to accomplish this.