"Modes" have been bouncing around in my head a bit, and I have a couple additional thoughts:
It occurred to me that one shortcoming of my implementation suggestion is that the V5 file header is shared among all layouts; this includes some interesting flags like key repeat and sticky keys, but more importantly, the mouse button mappings and "direct key mode" flag. It could be useful to change those flags in each mode.
This then suggests a slightly different approach to multiple modes - just duplicate the whole config file! This is space-inefficient, but likely relatively simple to implement, and fully backwards compatible. It requires a slight tweak to the spec, since there's no explicit indication of how long the whole config file is. However, in practice (at least in my experience), the Header is a fixed size, the Chord Table has an explicit length given in the header, the String Location Table is implicitly sized based on the maximum String Location referenced by a chord, and the String Contents Table is implicitly sized based on the maximum location referenced in the String Location table, plus the length of that string.
So if the spec were made slightly more strict to enforce that there are no unused string locations or contents, it's possible to get the size of the entire V5 config file. Now, simply appending another one gives a new mode. If there's no other modes, it's exactly an existing V5 config, and a firmware that doesn't understand modes would simply expose the first one (assuming that the encoding of the "switch modes" key is backwards compatible as well.)
Another interesting thought is that if the "switch mode" key is a normal key (e.g., modifier "FE"), switching modes can be part of a MCC. This makes it possible to do "one-shot" mode switches; just have every key point to a chord that presses the key, then switches back to the old mode. This could be used for things like "shift the next key" or general prefix-based chords.
(For example, a key could be bound to "switch to mode 1". Then mode 1 could have 26 MCC's, each of which is a single shifted letter followed by "switch to mode 0". This provides a "one-shot" shift key, also known as "shift the next letter". With a slightly different perspective, this same trick could effectively let a key act as a prefix key; e.g., maybe you store your e-mail address book or passwords under "OORO" followed by another chord. So "OORO OORO" might be your e-mail address, "OORO OOMO" a good friend, "OORO RROO" Tekgear support, etc. The implementation is the same, temporarily switching modes and immediately switching back, but this could be an interesting way to expand the space of available chords. In some cases, it might even be faster/more ergonomic than using increasingly complex chords for rarer symbols.)
On the other hand, it could be even simpler to switch modes using the zero-length String Contents entry described above - it could just take a four-byte pointer to the start of the table to use for the mode. When the firmware sees that, it just blindly loads the V5 configuration at that offset in the file, and barely needs to do any initial work. This means that switching modes can't be part of a MCC, so cuts off some possibilities, but doesn't require changing the spec at all beyond adding this additional meaning.
Finally, some other keyboard firmwares (e.g., kaleidoscope) do this sort of thing as "layers", rather than "modes". The distinction is that layers can have "transparent" keys that allow the layer underneath to show through; a layer might only change a small number of keys, and leave the rest the same. However, in practice, I'm not sure how useful this is, and it's probably not worth the complexity. And in simple cases, it can be faked in the Tuner by saying keys are transparent in a mode, but then generating a config file explicitly assigning them to the keys of the "lower" layer.
In short, the more I think about modes, the more I think it shouldn't be tremendously difficult to add, and could have some very interesting payoff. Hopefully some of this is convincing for folks at Tekgear....