The "other language" argument is interesting, but if I was a German programmer, then, yes, I WOULD want the compiler to recognize that beißen and BEISSEN are the same.
In that case you would presumably also want to recognise that "beissen" and "beißen" are the same, so it's not a case sensitivity versus case-insensitivity issue. Or discard the idea that equality is a transitive relationship. Would LEN cease to be a function, since it can deliver different values for the same argument?
Despite those worries, I hate case-sensitive collation for most purposes, and I think I too would want scharfes S and ss to be treated as equal. Unless of course I was thinking of text specifically for use in Switzerland or Liechtenstein, in which case I would want ß to be treated as a mistake.
And, frankly, the idea of case-sensitive variable names, column names, table names and so on strikes me as absolutely crazy; some char/nchar/varchar/nvarchar columns may need to be case sensitive, but I've found that case insensitive is generally more convenient; it's a pity that the declaration of variables doesn't permit case sensitivity or insensitivity to be specified, since it makes me specify the collation for each comparison if what I want isn't the database default.