Tom,
I'm not sure about an error.
It seems that the cmd-key causes the keys shown in Keyboard Viewer not to work. As you mentioned, cmd is used for - commands. I switched to Swiss layout and tried several combos with cmd: shift-alt-cmd-w just beeps, shift-alt-cmd-q should result in but logged me off (shift-cmd-q!). So, I think Keyboard Viewer isn't reliable on key combos with cmd.
Thus, I think the easiest way is to use my workaround. Keep in mind, once you've set up German and Swiss layouts to be accessible via menu, it's quite easy to switch between them.
Hmm, I see, my above posting isn't very clear. The steps described behind the bullets need only to be made one time. Then you just need to click on the flag to change to another layout.
How would you make a custom (Swiss) layout?