The major problem with C#, .Net, IE, DirectX, Direct3D, MS Office formats, etc. is that they are from Microsoft. C# was created after their attempt to kidnap Java failed and Sun gave them the asskicking they deserved. Direct3D is an attempt to kill off 3D on platforms other than MS Windows, and this plan has almost succeeded.
You should avoid them, boycott them, and use international standards which are NOT controlled by a convicted monopolist who is trying to kill the Free Software movement. There are always other options, which are at least as good as the MS offerings, and insisting that you need to avoid open standards to support MS is lunacy.
If MS once accepts international industry standards and starts seeing itself as just one player among many, and doesn't have killing Linux as its stated goal, then one should think about using their ideas to aid cooperation. As it stands, each one of these technologies only exists to destroy interoperability.
Having D3D support is a major milestone for running most MS Windows games on linux, which should slowly attract new users to linux or even allow developers to develop D3D apps without booting into windows to test.
Games don't run on Linux because they were made for Windows, not because there's an API missing and everybody is waiting for it. Everything's missing because Linux is not Windows.