Teslyn - DX10 is a completely different set of API's (Administrative Programming Interface) from DX9. To date, there are NO games on the market which are truly DX10. Instead, what you are seeing is DX9L, which is the version of Direct X that Vista uses to run DX9 games. DX9L is a modified version which allows programmers to access a subset of the new functionality (cross-process shared surfaces, managed graphics memory, prioritization of resources, text anti-aliasing, advanced gamma functions, and device removal management) in what is actually a DX9 environment. And it does that through the new WDDM (Windows Display Driver Model), which Vista requires.
Game makers are still creating DX9 games, adding in one or a couple of those DX9L calls and calling that "DX10". The argument is that, since the new calls are included in some way/shape/form then it's allowable to use the DX10 label. But they're still not using the entire API set, only a portion. Why?? Because DX9(C/L/whatever) is flat out not compatible with DX10. The commands that programmers have to use are entirely different and so if a DX9 game were run on a machine that only understood DX10, then the game simply wouldn't run. This is why Vista has DX9L - so people can still play their DX9 games.
The same applies in reverse: A game written entirely in DX10 will NOT run on a DX9 machine. So game makers would literally have to create two different versions of the same game. I DO NOT BLAME THEM for not doing this: The majority of their customers are still kids, many (most???) of whom are using the XP box Dad gave them when he got himself a new one. It's almost literally double the effort, and Vista boxes run DX9 acceptably anyhow. So why bother when you can add a couple calls here and there and use the '10' number on the box instead of 9? Another year, maybe, and we'll start seeing true DX10 titles.
Anyways, the screenshots you are seeing are a comparison of DX9C versus DX9L. Not surprising at all you'd almost need a magnifying glass to see the difference.