The problem comes if we determine there is a much better way to do this. We can't just pull the namespaces out because then you will have 30 classes named "Dictionary" and so on. You will have to either touch them all or run some script that appends the namespace on the front of the class and then pull namespaces out. I don't see either of these as doable, so I would expect that once namespaces are in as default for a couple of years that is what we are going to have from now on.
Eh, no not really. Today without my solution MCDictionary has the name #MCDictionary.
You just said "no", and then repeated J J's post in your own words. ;) In short: you can add hierarchical names with no immediate cost, but once people use it, it would be a much larger cost to go back.
While, I like hierarchical naming in general, there is no denying that there are plenty of issues to consider.
-Lex