I've created a
patch that blocks the creation of transaction outputs whose value is smaller than the fee per KB the transaction is paying. Basically it's blocking the creation of transaction outputs that would cost more to spend than they are worth. Because it determines this by fee, it's adaptive, and will automatically adjust as fees change. At the same time, if someone creates a really high fee transaction, like the recent 93BTC one, there is an upper limit, so you'll still collect it and profit.
Ultimately the issue is right now SatoshiDice is creating huge amounts of "you lost" transaction outputs that have a value so small they don't make sense to spend; >50% of the unspent transaction outputs are for just one satoshi. This hurts pool operators because while transaction history can be stored on slow hard-drives, and in the future pruned away, the set of all unspent transactions must be stored in fast memory so when your pool receives a new block you can validate every transaction spend, and start working on a new block. The bigger the UTXO set gets, the more RAM you need to provision for the computers your pool runs on.
If pool operators adopt this patch I expect SatoshiDice will simply change their failed bet outputs to always be > the transaction fee, and thus users will be able to spend those outputs. You'll still collect the large fees SatoshiDice is paying to miners, yet keep your costs down in the long run, and keep Bitcoin viable as a decentralized currency.