All of which re-iterates that DirectX really is the way to go on Windows. :-?
Except it isn't because DirectX is too much of a moving target (and thus provides a whole bunch of other problems), and having to rewrite everything from scratch every time Microsoft decide to release a new major version is not a viable alternative for most shareware type businesses.It doesn't matter for "AAA" developers, because nobody is going to care if they can't play "Panzer General III" 5 years after it was released - shareware is different, if you're still in business 5 years down the line you are going to want to: a) still get sales from your older titles (again something mainstream developers couldn't care less about) b) want said older titles to work on all computers, not just the ones that where state of the art 5 years ago.
Thus DirectX is not a good choice. For shareware developers it isn't economically viable to have to rewrite the program every time Microsoft get 2 generations ahead of you with the latest version of DirectX (particularly since you don't have to).
OpenGL is great in that regards, becuase it provides true backwards compatibility. Not by just bunching all the old crap with the new crap, but by having a consistant interface, and extending upon it as nessecary to provide new functionality. That OpenGL game you played 5 years ago (Quake2 for instance) will still work today - the same cannot be said for DirectX.