who pays you?
nah, directx is all nice and nifty, but i doubt a port of the headers would be a good idea atm. rumors are that the new directx will have great changes to it ( longhorn anyone ). besides directx is com, com is oo. sure there's c headers and wrappers out there, go port them ppl will be greatful.
seriously though your posts sounds like you are advertising for microsoft. stop that. directx is as usable/useless as opengl is. your xbox argument is a bad one. opengl is in fact the industry standard if it comes to crossplattform compatibility, that's a fact.
i use directx in many of my applications, it's pretty neat in terms of functionality. i'm neither pro nor conter directx really, i just think that opengl is easier to use and better supported on other plattforms too.
one solution would be to write a generic gfx interface that let's you chose over the backend implementation ( directx & opengl ) and provides the functionality of both apis. go ahead implement this and everybody will be happy.
fazit: use what is appropriate. period
edit:
besides, there's the 3d engine list
http://cg.cs.tu-berlin.de/~ki/engines.html last updated 2000 so a little bit outdated but it features a lot of engines that are still around and maintained. also a look on sourceforge will bring up some nice engines that are crossplattform.
writting a general purpose 3d engine is an immense task. check when ogre and irrlicht started and compare them to commercial products. those guys did a good job, don't get me wrong. but it needs a lot of dedication to maintain and continue developement of such a free engine.
i don't get where this xml thing comes from. if you want a scriptlanguage that lets you define 3d scenes easily check out vrml.
and i slightly remember that i had to download directx last time i setup my pc. i also downloaded the latest drivers for my graphicscard that had the opengl drivers installed. and for some reason i just couldn't find directx for linux...
<bash>free software for free ppl</bash> hehe nah j/K