MSXML is the standard Microsoft XML parser for native applications. It was originally developed for desktop Windows but was ported to Windows CE. MSXML has shipped in every version of the PocketPC since PPC 2000. PPC 2000, 2002, and 2003 all shipped a port of MSXML2.
In Windows Mobile 5.0, we have *finally* shipped MSXML3 SP1 (which was available for general embedded CE devices for a long time). Hooray! The most important new features of MSXML3 are SAX and XSLT.
One MSXML feature WM 5.0 does NOT support that previous versions did is XML error strings. These error strings really are only for developer's use for debugging xml. They are things like "xml element <foo> is missing its closing tag". They were left out in order to save approximately 40KB of ROM on WM devices.
This isn't that big of a limitation. These messages are hopefully not something you would display to the end user even if you could. (I doubt my grandma would appreciate the significance of "xml element <foo> is missing its closing tag" :)). If you have to understand why some XML isn't working, you can use the desktop MSXML to debug and get the more useful error strings.