Denaes, Just a couple of points.
1. - agree very windows based at the moment but there are steps to remedy this Project mono being one.
2. - agree again, C# is more abstracted from the physical hardware than C / C++ / ASM:eek: but this abstaraction can save a lot of pain and misery. The fact you don't need to mange memory yourself means development time can be a lot quicker and a very large source of errors has been removed (or reduced anyway)
3. here I begin to differ, have a look this thread and you will see performance actually approaches that of C++, this would put it potentially a lot faster than VB6 while still keeping a RAD model and reducing development times in comparison to a tradition C / C++ model.
As Derek says though C# is a new language, like all developments it takes time for people to properly evaluate things, finish existing projects before starting new ones, cost justifing risks in moving to new tools / languages and the associated re-skilling costs - hence the reason it's still not a common language for large projects. (Imagine the effort in moving any sizable C/C++ based project i.e. office to C#....)