The only time when the actual block data is needed is when other peers are fetching the blocks from you, or when you need to rescan for new wallet transactions.
However, the blocks you have already verified and processed are no longer needed by you yourself. Your node would not reset its state, as it still has the result of validating those blocks (the set of the remaining unspent transaction outputs). You could even mine new blocks still, and broadcast them, and other peers (who were similarly caught up already) would accept them as if nothing happened.
Of course, there are safety checks, and your client will not start when block files are missing. If those would be disabled, and everyone did this, and everyone deleted their blocks, the only effect would be that new nodes would not be able to synchronize anymore.
A future version of the reference client (possibly 0.10.0) will support "pruning", namely actively delete block files after validation when they're old enough. This will make your node stop advertizing as a full node, but it will keep functioning without lessened security otherwise.