My understanding is that once a new block has been found, the data you're trying to hash is no longer valid.
Actually, if I'm not mistaken, the hash changes every time any of these things happen:
a) a new block is created
b) a new transaction is added to the block currently being worked on
c) the nonce field (the thing you increment to try to get a "winning" hash) overflows
d) a few seconds go by (the blocks have a relatively low-resolution timestamp)
For any of these except a, if you find a hash the cooperative mining server could just go ahead and mint the old block. So what if a few transactions spill over into the next block, or the timestamp is a few seconds old? It's hardly worth throwing away 50 bitcoins for. And I think slush's miner already plays games with the extraNonce field to make sure that the clients aren't all trying the same hashes.
If a miner wanted to be particularly antisocial, it could just never accept transactions at all (or perhaps only accept transactions with a fee attached). Such a miner would simply mint "empty" blocks with only the 50 bitcoin generation transaction in it.