It does not fix this problem:
"and if there are more transactions than will fit they take the highest-fee transactions first."
So what he's saying is that the bitcoin network can not handle the typical volume of transactions? So you have to prioritize things?
If it can't do it now, today, when it's small, there is simply no way bitcoin is going to grow, which is troubling for the future of bitcoin.
The requirement that every transaction is recorded forever is already causing problem (the block chain is HUGE). And the fees are just a method to try to reduce the side of the data.
Instead a completely different method should be used: A cleanup cycle where old blocks are consolidated and discarded. (The miners agree that the new block is valid, then the old block is no longer needed.)
(Also as a side note bitcoin will never survive past the last mined block. Miners will not continue to mine just for fees, but the amount of entrenched hashing power in place by then means that destroying the network will be trivial for people.)