With respect to XP vs. Win7 vs. Vista, I'm surprised no one has linked this thread yet:
http://www.orbiter-forum.com/showthread.php?t=7356
First off, don't get Vista. Just pretend it never happened.
As for the other two...due to various reasons that I go into in that thread, XP will outperform Win7 on identical hardware when using the default DX7 renderer.
However, DX7 is getting rather long in the tooth, and if you have a strong system, you'll still be getting above 100fps in Win7, at which point there's really no reason to stick to XP.
With the DX9 client, I suspect that XP's performance advantage will diminish greatly. If it's ever possible to use exclusively the DX9 client and drop the DX7 one, there will likely be no reason to choose XP over Win7 for Orbiter.
As for this:
Sorry, but I'm going to argue with you on this point, because you're wrong.
In a single-user system, sure it makes sense to just lump everything together.
However, Windows (and pretty much every other modern OS) is no longer a single-user system. It's a multi-user system, designed to allow you to have multiple people using a single computer without interfering with each other. Johnny logs out, his sister Sally logs in, and now the computer presents itself to Sally as if Johnny's files don't exist at all.
With programs dumping their save and config files into their own folder, you get "contamination" between the users. Let's say, for example, that Johnny is colorblind, so he has all his config files for a given game set up to avoid colors that he can't distinguish. Sally is not colorblind, and she discovers this game and wants to play too, but she doesn't like the colors Johnny chose, so she returns everything to defaults and saves the settings.
Now, when Johnny goes back to this game, he'll have to change all the settings back to his way, and Sally will have to do the same, and so on and so forth. They end up getting into some good old-fashioned sibling fights and cause tension and stress in the household.
Now, if that program had been *properly* saving settings per-user in the user's own directory, Sally's settings wouldn't overwrite Johnny's, and they could peacefully coexist on the same system, never the twain shall meet. When Johnny goes off to college and gets a new computer, he installs the game, copies his user directory (or uses Windows Easy Transfer!) and all his settings are preserved.
"Well, why don't you have per-user settings saved inside the program's folder?" is the next question. The answer is because then it's harder on the program developer to get things right. The Windows SDK makes it "easy" to get things right--you just ask where you should store the data for that user, it tells you, and you save stuff there. Sure, it's somewhat harder than just saving something to a path relative to the executable, but it respects user settings and is the "right" thing to do.
The registry also serves a different purpose, of providing a single place to store simple settings without cluttering your disk with numerous config files that may all have different formats and conventions.