Basically, as usual, if a game company wants to make a game that uses DX features, they'd have to probe for the presence of DX9 or DX10. If we hypothetically assume that some graphics card only supports DX10, then that card will not run DX9 games. However, since most, if not all, DX10 cards will support DX9 and10, then you don't need to worry about your DX10 hardware not being able to run DX9 games (and I don't think the performance hit will be that great...even if it is, it'll probably be masked by the faster video chip/memory anyways).
As for running a DX9 card in Vista, yes, it will work. You just don't get the Aeroglass look (or probably the transparency, I don't remember what exact you can't get), that's all. Of course, you can't run DX10 games (there's probably CPU emulation, but you don't want to go there), but you can still run DX9 (most likely also version L, if your gfx card hardware developer doesn't screw you) games, if your card already supports DX9.
The bottom line is, for game developers, they can't just probe for the highest level of DX and expand their code to take advantage of additional features. What they need to do is to determine if it's DX9L or less, run the appropriate amount of code, and run totally different (graphics) code for DX10.