Well, in the industry I'm in, it's not the cost of HW or SW that matters. Many times, the choice is influenced by politics or "strategic partnerships". Use company X's product, because we have a relationship or deal with company X. Manager's don't dictate to use the "cheapest" means to accomplish a task. A manager's biggest concern is usually delivering software on time and with the fewest bugs.
In the 90s, everyone was buying expensive Sun server HW, Sun RAIDs, etc instead of cheap linux servers, despite the fact that the Sun HW wasn't really any easier to manage. In the 80s, everyone bought IBM, despite the fact that clones of IBM mainframes were faster and cheaper.
At best, the choice the use DX is simply one of installed base and support from MS. But companies in the past that have chosen MS technology will frequently learn that the costs and benefits look cheap in the beginning, but you have to be in it for the long haul, because of MS bugs and design flaws. You have to bet that MS will fix the problems eventually. And they usually do -- several years later.
Anyone working on WinCE, the first .NET, or the early DXes, for example will know what I'm talking about. If you're willing to wait 3-5 years for MS to mature and fix stuff, fine. DX is finally starting to mature, but some consolation that was to people who started on DX3 or DX5. Today, the flaws in the shader model won't manifest themselves because of the paultry lack diversity in DX9 HW, and the lack of DX9 titles. But in 2 years, it will be quite evident that the MS model is flawed, and I think you will find that DX10 will feature compilation in the driver model, just like DirectX has adopted most other OGL ideas.
In the 90s, everyone was buying expensive Sun server HW, Sun RAIDs, etc instead of cheap linux servers, despite the fact that the Sun HW wasn't really any easier to manage. In the 80s, everyone bought IBM, despite the fact that clones of IBM mainframes were faster and cheaper.
At best, the choice the use DX is simply one of installed base and support from MS. But companies in the past that have chosen MS technology will frequently learn that the costs and benefits look cheap in the beginning, but you have to be in it for the long haul, because of MS bugs and design flaws. You have to bet that MS will fix the problems eventually. And they usually do -- several years later.
Anyone working on WinCE, the first .NET, or the early DXes, for example will know what I'm talking about. If you're willing to wait 3-5 years for MS to mature and fix stuff, fine. DX is finally starting to mature, but some consolation that was to people who started on DX3 or DX5. Today, the flaws in the shader model won't manifest themselves because of the paultry lack diversity in DX9 HW, and the lack of DX9 titles. But in 2 years, it will be quite evident that the MS model is flawed, and I think you will find that DX10 will feature compilation in the driver model, just like DirectX has adopted most other OGL ideas.