I know a bit about XML (just used it on some projects) and really understand the idea of namespaces .... to differentiate between the JPG and CR2/NEF/... of the same image within one XMP .... sounds like a great idea,
BUT still these two images (xxx.JPG and xxx.NEF) are 2 independent files on your system ... and just by accident show the same picture !
Just imagine you work on a job together with your partner, one with a Nikon, the other with a Canon. Both cameras nearly at the same picture counter AND the filename pattern is the same (or you rename them to look the same).
How should ASP differentiate between the xxx.CR2 and the xxx.NEF if you put all your pictures into one folder and ASP would NOT put the original extension into the name of the XMP ?
Of course I also would like the idea to handle the set of RAW+JPG as ONE image ... but this could cause trouble ... and you will never apply the same settings to the camera-generated JPG as to the RAW .... so why should it be within one sidecar XMP ?
All solutions have trade offs ... and making it adjustable by the user even increases confusion, especially when you change your settings on the fly, maybe after 1 year of work ...
So to me the ASP way of XMP naming is transparent, flexible and reliable .... and that´s the only thing I expect from SW.
You have to thank Adobe for their lack of thinking...
Don´t know if Adobe missed something (don´t know the spec of XMP), but at least it´s not 100% robust.