I don't see how this removes any functionality at all. Let's say you need to use different desktop configuration files.
Saving newdesk.inf, with and without XBoot: Save desktop, rename newdesk.inf to whatever.inf and optionally copy it to a folder.
Choosing newdesk.inf, without XBoot: Copy file to root of boot partition if necessary, delete current newdesk.inf, rename the file in question to newdesk.inf, reboot.
Choosing newdesk.inf, with XBoot: Select desired set when booting.
If you *don't* need to use different desktop configuration files then there's no change in functionality at all.
Adding the feature you ask for directly to XBoot would probably be a bit difficult as AFAIK the sources are not available. However, it can be done with an external program that runs *before* XBoot in the auto-folder.
- The current selected set is specified in /xboot/xboot.cfg.
- The sets are specified in /xboot/sets.dat.
- Read xboot.cfg to determine the last selected set.
- Read sets.dat to get the name and path to the newdesk.inf for the current set.
- If the current set has a newdesk.inf, overwrite this with the contents of /newdesk.inf.
But keep in mind that there is no way to implement this functionality without making some assumptions, and I can assure you that at some point it will overwrite the wrong file.