hehe...you got me all wrong matie!
By reinventing the wheel, I mean they are taking ideas that have already been used or presented, but they almost present it like a new idea. Of course I know about the features etc etc of .net. I've been programming VB for 5 years, you think I didn't get my hands on a copy of the beta when it came?
For example, IBM's OS/2 was developed in partnership with MS. But MS left the project and used what it learnt to develop NT. So why didn't OS/2 get the spotlight? Yes although OS/2 was abit bloated, but NT was presented as 'the thing' even though the ideas were already around in OS/2.
C#. MS's only reason to develop C# was to compete with Java. This was because it lost a court case with Sun because MS was accused of supply a JVM not meeting the specifications to kill the language.
Like you say before, .net has interoperability. Things like MyServices (aka HailStorm). Though such ideas were already around when Sun's motto was still "The network is the computer".
C# might run on alot of platforms, but Java2EE
already runs on at least 26 platforms and already has a large population of programmers supporting it (all J2EE, SE, and ME). Yes I know Java is slow, I'm not big fan of Java either.