You might want to look at PortableApps.com. For most programs, the launchers developed by the folks at PortableApps.com will address registry, directory, and drive letter portability issues.
Although XMPlay stays away from the registry and sticks in its own installed directory, the drive changes are a portability issue. You can find
the beta version of the XMPlay launcher in their forums. There is a note from the launcher developer:
Known Issues:
The library will not follow a changing drive letter as the launcher is unable to write to the relevant files. You can get around this by saving your playlists as M3U files. All paths are written relative to the root of the drive by default.
I'm not sure if the library issue will be resolved in future beta versions, but I don't think so.
You might want to try maintain different copies of the library and swap the right one in. Way complicated, but do-able. It would be much better if the library understood relative paths and used something like %drive% if it was necessary to qualify full path for the output of the library. Or maybe use an XMPlay.ini entry to identify the root path to the library, and let the library entry take it the rest of the way. Or maybe if the library can't find the contents, give a file-open style dialog to allow the user to point the library to the right place.