How would you know whether a transaction has an output in the previous block if you don't know what transactions were in that block? Additionally how would you know whether an unconfirmed transaction which uses an older output was not confirmed in the last block?
EDIT: *slaps forehead* I don't know how I didn't think of this.
The need for SPV mining is an urban legend
It is driven by an unsubstantiated excuse to very marginally reduce the average small amount of time necessarily spent mining on stale work
Although this cost is very marginal now, it does still exist, right? The reason I'm asking is if we did want to increase block size so much that it took, say, 30 seconds to download and verify.