The order of XML elements in qbXML matters.
So if the QuickBooks OSR documentation shows that the order of XML elements should be this:
<ListID >IDTYPE</ListID> <!-- required -->
<EditSequence >STRTYPE</EditSequence> <!-- required -->
<IsActive >BOOLTYPE</IsActive> <!-- optional -->
... lots of other stuff here ...
And you send this:
<ListID>8000007D-1367847338</ListID>
<EditSequence>1367850617</EditSequence>
... lots of other stuff here ...
<IsActive>true</IsActive>
Then you'll get that error back:
(0x80040400): QuickBooks found an error when parsing the provided XML text stream.
That error is essentially QuickBooks trying to tell you that you have some error in your XML document.
If you send the nodes in the correct order it will work OK:
<ListID>8000007D-1367847338</ListID>
<EditSequence>1367850617</EditSequence>
<IsActive>true</IsActive>
<FirstName>first name</FirstName>
<MiddleName>middle name</MiddleName>
<LastName>last name</LastName>
As a side note, if you use the "XML Validator" tool included with the QuickBooks SDK, it will tell you exactly what is wrong with any XML message you feed to it.
Hope that helps!