So not only can they be spent, they can even be spent and pruned for free. Yes, I've done it myself.
you have a missing incentive structure. A gambler doesn't care about the technological implications of dust output. His main concern is economic.
To get a fee of 0.01 you need at least 10^6 satoshi inputs. So there's no economic incentive. The only thing which would help is an intelligent client which "sweeps" the satoshi output and throws it in as a fee. However, as pointed out before, in a crowded blockchain, that little bit of required extra space may cause another important transaction to be left out, so there's no free lunch.
Overall transactions which have no intent of being spent (for economic or other reasons), pollute the blockchain. We need an incentive structure to discourage that - or at least make it expensive to do so.
He's paying the fee implicitly becauser SD are paying it! And they're making money.
Further, your mega-gambler has to bet right? Each bet can take a prior losing satoshi, so even a gambler with a lot of bad luck needn't be building up the satoshis. Think a little bit, this is a non-problem.
Yes the standard client software might need updating. I mainly use electrum which makes it easy to specify what outputs to use, but any client updated to spend dust is all you need, and adding such logic is very easy.