I am going by what the current curriculum is at some of the leading universities in the UK, so there is an element of experience in my statement.
I would like to draw attention to the fact that I have been at no one time been explicit about choosing language
x over language y, I have merely presented an array of languages that omit C#.
It is difficult to say why I think C# not appropriate, but I think it is because it is simply too good. It has LinkedLists baked into it for example, and the standard sequence operators (more of the what you want done, not how) like SkipWhile and
Take etc. conceal a lot of things a CS student should be able to do given a for loop and some primitives. That's not to say you cannot in C#, but it is like going on a diet in a sweet shop, it's just too tempting to use what is there.
I also think it narrow minded to pigeon-hole VB6 as being useless, as I know some very complex systems, dealing with embedded systems that have been written using the langauge with data at the forefront, and a CS student should be aware of as many languages
(IMHO) as possible, warts and all.