Another note, to those who've been claiming that the current patch creates infinite delays in payment processing on addresses that take more than one payment per ten minutes;
With 100% adoption of this patch that would be true, but nobody is now looking at 100% deployment even as a remote possibility.
With 90% adoption of this patch, you'd get one transaction per block on 9/10 of blocks, and then all the transactions that had been delayed, all going through at once, on 10% of the blocks. So, if for silly reasons you're taking one payment per ten seconds on a given bitcoin address, your expected time to first confirmation for a given transaction would be slightly less than 90 minutes instead of 10 minutes, but without 100% adoption, would not be spiraling to infinity.
Even if every pool adopted this patch you'd still get all your transactions through any time a solo miner who had not adopted the patch solved a single block.
If I'd been writing the patch I'd have hit it in transaction fees instead of delay; ie, I'd have written a bitcoind/bitcoin-qt patch that made repeat-using a bitcoin address be a nonstandard transaction unless accompanied by an additional transaction fee. But that would be a much less 'measured and predictable' effect than the patch we're looking at now; it would be more likely to cause chaotic unpredictable failure of such tx that depend on things far more random than this one. This is more elegant and gentle than what I'd have written, because it is more subtle.
Even this isn't right, but you're along the right lines. With this type of patch, confirmation time "spiralling to infinite" doesn't happen for re-used addresses. All this is doing is putting transactions using un-used addresses to the front of the queue. If un-used addresses make up the whole block, then no re-used addresses will make it into that block. But if the block has space in it before it hits 1Mb limit, the re-used addresses will still have their transactions processed.
If Luke had made a patch that stopped re-used addresses in transactions from ever being processed by the software, never to be included in the block under any circumstances, I would not support it. Good thing that this is not what he's come up with.