I'm not entirely sure on this, but here's what I remember. They're able to send the BTC back instantly because they use the Bitcoin you sent as an input. If a single input is invalidated, it invalidates the entire transaction, therefore if an invalid output is sent to satoshidice, the output they send back to you will also be invalid. It's protection. At least, that's what I remember hearing, though I'm not 100% on that. It should be comparable with any service where they send instant return transactions.