How would the Bitcoin protocol be impacted if nodes only stored the blocks they cared about? Right now, full clients of the Bitcoin network store every block ever generated (while "thin" clients instead rely on a node which does so).  This greatly increases first-time initialisation for the client, and also has significant implications for network overhead, amongst other things.  How would the network be impacted if nodes instead stored only the headers of most blocks in the blockchain until or unless they "needed" the actual block?

These situations are fairly common, such as:


verifying the validity of each new block as it is found and transmitted to the network
any time the client is sending or receiving bitcoins
etc.


so that in general clients would still download all blocks broadcast when they were online.  However they would be able to:


purge blocks they "don't care about" if storage space is limited
in the typical case, start sending and receiving bitcoins after downloading only the few most relevant blocks (and all the headers of course)
etc.


Note that there are usually several entities "invested in" the continued availability of a given block, such as the original miner, who wants their 50 btc earned to remain valid, and anyone who received bitcoins from transactions in that block.  However, one intriguing consequence of this scenario would be that miners are incentivised to include as many transactions in their blocks as possible (currently one can mine without including any transactions if one so desires).  What would the other impacts on functionality and security be?

Edit:
I'm looking for a better answer than "I think it would destabilize the network" here--I want to see some estimated impacts on block availability, network overhead up or down once the lower amount of downloading is contrasted with re-downloading later, etc.  Some statistics on how inter-dependent blocks are alone would go a long way towards a solid answer.

Edit 2:
Right now this bounty's going to Shadders in a couple of hours.  But if anyone had more detailed info on the information I asked for in my first edit, they could definitely snipe it.  Any takers?
There is proof of concept work in progress right now to solve this problem.  Basically by creating hub nodes capable of handling many thousands of connections.  These hub nodes are in fact a proxy backed by a real satoshi bitcoin daemon.  This will relieve standard bitcoin nodes from a lot of the connections being used up by these 'selfish' nodes and allow them to continue operating as do now.  Mining pools will have a strong incentive to run hub nodes as it will speed up propogation of their generated blocks as well as ensure they have the best chance of getting new blocks as quickly as possible.