Emptying an address of .00000001 payments is pretty hard, harder than it was to send them to you. It takes 100,000 of these dust payments to equal a bit-penny, so if you've ever walked by a penny without picking it up, that shows how little effort that small amount of money is worth. You must actually send these coins on the Bitcoin network in order to consolidate them.
The problem will be that your balance is made up of winnings and losing payments. Every time you send a payment from Bitcoin to the gambling site, Bitcoin also sends the unspent balance "change" back to itself to a new address (these reserve addresses aren't shown in Bitcoin). That means that for almost every gamble, there is a payment in your wallet in a unique address. If you modified Bitcoin so it always sends change back to the same address, that would eliminate much of the cruft.
When Bitcoin constructs a transaction, it does so out of the balances that will create the least change. If you were to send a payment exactly equal to only your winnings, it may construct this payment out of just winning payment balances and leave behind just satoshi balances which you can discard.
I'm using the -noprivacy branch so there are no change addresses, just change inputs
I've also modified the client to not spend the single satoshi's
ITs been pointed out to me that there is a 100kb limit on transaction size, which would be a little over 500 satoshi's, add that to the minimum fee's on here
https://en.bitcoin.it/wiki/Free_transaction_relay_policy and it just isn't worth it
For now i can just take the single satoshi's as a loss, but one day they may be worth something and it'd be worth it to get them out... as long as fee calculation has changed by then anyway