Interesting topic. I'm kind of thinking out loud here so please bear with me.
I very much like the idea of multiple variants in one file. I suspect it could get a little tricky for the developer(s), but it can't be worse than having a set of source files with lots of forks. I can see a using a lot of 'case' in the source code to identify the differences...
An alternative to having one 'executable' (EXE, DLL, whatever) deliver all prior versions might be to maintain a code base that relies heavily on conditional compilation (#IF ...) to permit recompilation to prior versions. But then how can we ever be sure that it is exactly the same?
Which brings me back around to relying in something like SourceSafe to keep the 'official' source for any version.
Not an easy question, but it certainly merits more discussion!