Mark, when you talk about multiple versions rarely being used at the
same time, you're clearly talking about *protocols*. (At least, your
examples are pretty much all protocols -- RFC822 is an exception, which
I'll come back to.) The situation is very different for *document
formats*. There are more than a few document editors that have evolved
through several format versions, and they are expected, by their users,
to continue properly reading old-version documents. Reliance on a
version number is pretty much routine for these beasts.
The one "format" you mention as lacking versioning, RFC822, strikes me
as a perfect example of why document formats SHOULD use version numbers.
Imagine if it were possible, from looking at an RFC822 message, to tell
what version of the standard it were written to conform to. This would
allow considerably more latitude to our current efforts to augment RFC
822. I'm not recommending that, because in the case of RFC 822 the
issue of complete backward compatibility is very important. But in
general, designing version numbers into a document format is among the
most basic of engineering principles, in my opinion.
I agree with your general sentiment that the right direction to move now
is towards simplification rather than increased complexity. But if we
go too far in that direction, we will fail to meet some important needs
of substantial numbers of people, e.g. those who want smoother support
for alternate character sets.