There are issues if the stubs you use in your URLs only allow a-z and 0-9. You could just as easily escape each character in the stub and preserve the title of the post/question you're representing. This is a problem with Stack Overflow though, not the name of the language (C#).
Wikipedia has this issue solved. You can use any Unicode character in their titles and they get used as the stub by escaping those characters. Anyway, it's not like the whole world only uses the English alphabet. This should be handled properly.
It’s hard enough to persuade people to type curly quotes and proper accents even when it’s easy to do (e.g. on OS X). Chances of them learning to type a ♯? Minimal.
The number sign (pound sign, octothorpe, etc) separates the fragment identifier from the URL. Browsers don't send characters after the # to the server. It works with Twitter because they use Javascript to AJAX in data from additional requests. http://en.wikipedia.org/wiki/Fragment_identifier
not really, the server can't see that # in the URL, it doesn't get sent by the browser. The only way they could do that is if they switched to #! style ajax urls ala twitter