Bitcoin has been running successfully for over two years. Honest miners have generated over 120000 blocks. As admitted by Satoshi, if a well funded attacker develops a hashing ASIC or otherwise buys or gains access to >50% of the hashing power (by DDOSing some pools?) then all that honest historical hashing work doesn't matter one bit, Bitcoin belongs to the attacker.
Please, this is exaggerated. Stop propagating fear.
Bitcoin would not "belong" to the attacker. The only thing such attacker would be able to do is rewrite recent transaction history, and with that, double-spend. That is: big annoyance + potential to fraud against some victims with bad luck. Ok, it's not good, but it's way less harmful than "Bitcoin belongs to the attacker".
Now, about your suggestion, I don't think it'd work. Miners would spend their difficult discount as soon as they can use them on their advantage, meaning they wouldn't cumulate much anyway to resist the attacker. And the attacker could honestly mine for some months before turning rogue.
Much easier and straightforward than that, IMHO, would be to periodically mark old blocks. It should be possible to calculate the chances of a honest chain split, and also calculate the probability of a honest split lasting a certain amount of days. For example, I believe that a honest split would never last an entire week, or maybe even much less than that - but it would be nice some math to demonstrate that of course. Suppose it's true. People could agree to, every week, mark the block produced one week in the past. Only chains containing the marked block would be treated as valid. This way, the most the attacker could do is to revert one week of transactions - that would be resent anyway. So this makes politically motivated attacks quite silly. And regarding profit oriented attacks, there wouldn't be much margin for double-spending in this short time window. The costs and risks of getting caught would probably outcome the potential benefits of such fraud.
EDIT: Just trying to explain better what I meant, maybe marking once a week was not the right way to say it. The best way to do so is to make block reorganizations that rewrite a number of blocks higher than a constant C illegal. If a node receives a larger block chain which rewrites more than one week of blocks, for ex., it just ignores this longer chain and stick with the shorter one.