Hi Bruce,
The problem is that a new version of the MSXML parser was intalled on your machine in replace mode. If I remember correctly, Windows XP will install MSXML 3.0 SP2. As you are using a version independent ProgID (MSXML2.DOMDocument) the new version of the parser could has being used and this way, it can break your code. There are possibly two main solutions to your problem:
1) You can start using version dependent ProgIDs, such as "MSXML2.DOMDocument.2.6", "MSXML2.DOMDocument.3.0" or "MSXML2.DOMDocument.4.0".
This way you guarantee that your code will always use a specific version of the MSXML parser and future installations of different versions of the parser will not interfere on your code. Microsoft recommends this strategy.
2) You can download the XMLINST.EXE utility from
http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/469/msdncompositedoc.xml and correct the version of the parser that will respond for the version independent ProgIDs/CLSIDs.
Hope this helps!