I'm more excited about D3D11 to be honest, and some day I'm probably gonna port, but the main problem is the high-ish percentage of the Quake community that insists on clinging on to cruddy old hardware. I would have excised the fixed pipeline stuff entirely from my engine by now if it wasn't for that, but even going to a fully native shaders-only D3D9/GL2 codebase is too much for some of these people.
I think OpenGL's day has come and gone to be honest. Of course it's still the best (only!) choice if you want cross-platform, but there are serious problems underlying the fundamental design and concept of the API going all the way back to 1.0 that make it a total pain to work with at times (note that OpenGL ES doesn't have so many of these problems, and since 3.0 it's been moving in the right direction, but not fast enough and not far enough).
What kind of problems?
The extension mechanism is a mess. It's great for exposing new functionality early OK, but it's a nuisance to program to, and if you want the most robust code you can end up writing 2 or 3 versions of everything.
Lack of driver certification is a total balls-up, conformance testing is a joke. 10 years of bad ATI and Intel drivers are testament enough to that and I don't need to support this argument.
Falling back to software emulation is ridiculous; it's understandable when you're in a situation where the program must always work even if it's at the expense of performance, but for a program where performance is a requirement you'd much rather have proper capabilities enumeration (including an indication of whether or not a given extension is going to be software emulated) so that you can construct your code around that.
Hanging on to the legacy baggage has been holding it back, and the sad reality is that no matter how much 3.x and now 4.x push forward, CAD users will always prevent the clean redesign it badly needs.
It's too high-level and goes too far in abstracting the hardware, so that a colossal amount of OpenGL code you see is actually hugely inefficient and/or just plain wrong (GL_RGB, 32-bit indexes, etc).
I could go on. It's disappointing really because up to a certain point (1.3/1.4 level) OpenGL is actually a dream to work with, but once you go beyond that the design and implementation of D3D has actually proven to be more intuitive, cleaner and easier all round. Sigh.
