I was just running some of my blockchain utils unit-tests, and it started crashing where it never has before. Debugging led me to block 150951 which was created a few hours ago.http://blockexplorer.com/block/0000000000000449ee5b94ba7a051caffff5c23d6a03335f6e20e3985b5ffa61
It appears that the scripts have a one-byte receipient of "0" for the publicKeyHash field (between the OP_HASH160 and OP_EQUALVERIFY). As far as I can tell, those coins have been effectively destroyed -- Approximately 2500 BTC. I don't see how they can be recovered, because there would be nothing you could put on top of the stack that would hash160 to a 1-byte output. (Blockexplorer shows the address as "Unknown").
My guess is that someone was using a home-made client to sign those transactions, and it choked on some bug when they tried to create the TxOuts. It appears that the change outputs were constructed correctly, but the target output was not... perhaps is one of those "If problem: return 0" conditions gone wrong.
Either that, or a really nasty BTC virus that: rather than stealing your money, just destroys it...
So who's the lucky person that just lost 2500 BTC?