The new paradigm "The longest chain is the right chain IF it does not suggests to reorganize more than X blocks of the already existing chain" must be applied in order to make these attacks impossible.
Can't this be accomplished more easily by the interested parties considering a transaction to be tentative before X confirmations? Edit: Oops, somehow my logic was backwards.
Also, a 51% attack has other capabilities, such as censorship and DOS, which the proposal does not prevent. So, you can't really call it an "ultimate" solution.