If the incorrect blocks were published on the network, they'd be rejected by other miners, so you don't have to look far back unless (1) there's a sustained 51% attack on the whole network, or (2) you're a very juicy target and a huge miner can take over your internet connection, and you don't notice a large drop in difficulty.
This Mist/Wallet thing does. not. work.
Maybe if i tweak or use light client it would, but as a user I don't care.
It would be nice if they could implement a version that allows this, without the bloat.
So the issue is, if you want to validate a transaction, I would have to find the block in which the input was made, and confirm all the blocks from that one to the current block?
Since each block header has a merkle root of the block's state, you can just get all the block headers to check PoW, get the current state, and validate transactions and states as many blocks back as you feel you need to make sure a miner hasn't faked the current state.
Here's an old article by Vitalik on the subject:
A more obvious use case is reviewing all the transactions related to your address.
You need the current state, and very recent history just to make sure there's no shenanigans, but you don't need old state unless you're doing historical queries for some reason.