We have an app that creates command objects up front, the state of the menu (and commands) is later persisted via SaveBarLayoutToFile.
When the app re-starts this is all re-loaded via LoadBarLayoutFromFile, this works fine and any changes the user has made to keybord shortcuts and menu layouts are re-loaded.
However if we add a new command (i.e. version 1.1 of our app has some new commands) with a shortcut key assigned to it when the LoadBarLayoutFromFile function is called it removes the keyboard shortcut for this new (previously unseen) command.
It seems to me that LoadBarLayoutFromFile should leave the command object alone if it has no entry in the XML file, but it seems to be clearing this (and maybe other) properties.
Note: this has always been the way that this has worked, but I've never gotten around to raising it in older releases!