Problem: Database is about 2GB and the block index is about a GB. The database should be trimmed to help speed, but in a way that does not result in parts of the block chain disappearing completely from the network.
Solution: I believe the clients need to two operating modes that deal with blocks: light and heavy.
Light: Client runs using the genesis block, the blocks that contain transaction for their address and blocks that go 5 away from that block, and the last couple of blocks generated (20+). If the client stops and resumes at a later period, before old blocks are destroyed, all the blocks that the client has missed must be downloaded before deletion occurs. In addition, client needs to have the whole block chain before they can switch to Light mode.
Heavy: How the client is now, downloads the whole block chain and stores it on the computer. This is the default mode.
Client can switch between modes.