Nice clear question and answer (apart from the typo in the explanation).
BUT: the more I see of this stuff the more I think the way XML was introduced into SQL Server was stark staring bonkers.
LOL. XML has an interesting history in SQL Server. In SQL 2000 (first version with built-in XML support; very minimal XML support via OPENXML and FOR XML), the XML functionality seemed to be almost an afterthought tacked on at the last minute. In SQL 2005 XML was completely re-vamped, with significant improvements (i.e., XQuery support, FOR XML PATH), but performance (and consistent performance
at that) is an area that still needs to be seriously addressed. SQL 2008 added a couple of minor tweaks to XML (i.e., "let" clause in FLWOR expressions), but more complete XQuery functions and operators (F&O) support has not been implemented -- which makes it very painful to port any useful XQuery code over to SQL Server. There's a *lot* of room for improvement in SQL Server XML support... Hopefully these issues will be addressed sooner rather than later...