I think it would be nice to have different prices according to what they are _supposed_ to be for. Just like .gov is reserved, so .com could be priced at 100$/year since if you are a commercial company, i.e. you make money, then it would be a fair price to pay.
Others like .org should be almost free, but only for companies which are legally non-profit. A domain for personal websites on the other hand should be cheap and have no limitations. And so on.
So basically I agree with what you are saying but I'd just make it slightly more fine grained.
As for the problem you mention, I think people would change pretty quickly to be honest. Maybe there could be some governmental ads to drive the message home, but com-> commercial is pretty easy to remember, and similarly if it's not .com then it's not commercial. :)
The point of having a hierarchical URL, with most people buying the second level, is to increase the number of choices. If everyone ends up buying .com it's just a waste. :)
Cheap pricing like Godaddy's $.99/year .info just pollutes the web with spammy sites - think of it as tons of little Mahalos.
Tiered pricing hasn't worked out that well for other extensions. Originally .tv had a tiered pricing where you paid a premium yearly rate, however, they abandoned that practice this Spring. [1]
[1] http://domainnamewire.com/2010/03/18/verisign-drops-prices-o...
As an example look at the auctions for the mobile phone frequency licences: that worked pretty well.
Moreover, by capturing much of the value of domains currently realised by the domain aftermarket, the registrars would remove much of the little amount of signalling in the market that currently exists.
It's like suggesting that dysfunction in the labour market would be reduced if wages were set by a really big organisation, like the government.
Despite being wrong about the problem, the author's solution is not bad. For a serious commercial endeavor, $100/year is insignificant. For a personal site, it's a fortune. The author's solution does seem to solve this problem.
There are still problems though.
1. The .com TLD is so prolific that using a different TLD is a problem even for personal sites. The author's solution would've been great if it was implemented from the start. Right now, it might be good at best. Even if you just show your site to a few of your friends, some of them are likely to get the TLD confused if it's not .com. If this was implemented from the start, though, that wouldn't be a problem because everyone would know that personal sites don't use .com.
2. Domain squatters, the real problem, will still exist. They'll just be more selective. If someone can get beer.com, they'll still do it if it's $100/year. That's still likely to be a good investment. If you raise the price enough to make that a bad investment, you've probably priced out a lot of serious commercial sites that just don't have the money for an expensive domain name.
Perhaps a better solution from the beginning would have been to have a bunch of cheap TLDs that anyone could use for anything at $1/year, and then .com which would have varying prices depending on the value of the domain. True, you can't predict with certainty what will be valuable, but you can predict with reasonable certainty that any word in the top 1000 English words is likely to be valuable. You can similarly predict that shorter names are likely to be more valuable than longer ones.
Of course, we don't have the option of changing what was done, so that's probably all moot.