Try replacing the “&” by “&&”. I do not find the reference for it now but if you receive URLs from a Mac OS X method you have to double it or it will disappear (but don’t remember if this was mac-only).
It depends on where you display them, but you are right. This especially happens with labels and menus because the ampersand character is used for specifying the menu shortcut key for Windows and Linux.
IT is not a Dictionary or an Array behaviour. Read below, it have to do with the accelerator key.
Question: on Windows 8.1 and up, can you access to a PopupMenu from the keyboard if that PopupMenu cannot get te focus (will never have the focus) ?
After extensive reseach, it happens that it is the PopupMenu who eat the & (if you pass it one, you get none, if you pass it 2 you get one, and so on).
What is strange is that it is a default behavior: I get a PopupMenu and change nothing in its properties. IT DOES NOT HAVE THE FOCUS: IT NEVER RECEIVE THE FOCUS.
Because of that I consider this eating process as a bug.