It's an annoying topic. Not many USB surround sound cards exist anyway, even less of those are good ones. But after an hour of searching the web and reading various articles, I've finally found a USB surround sound card that works well in Linux:
Terratec Aureon 5.1 USB MK-II
Usually the problem is that terratec's drivers are not too good. Luckily, the Linux drivers are often excellent due to the open source community's investments in them. And here the case is similar: Terratec was smart enough to use the standard USB interface, so they need not write drivers for any OS and the Linux USB Audio driver works perfectly - already for a long time.
But German reviews on Amazon suggest that the digital output does not work with surround sound, but only stereo. This means it's just an option if you want analogue sound.
"Enforce USB bandwidth allocation (EXPERIMENTAL)" must be deactivated in the kernel.
If you still need some help with the setup, e.g. for games, try this page.
If you want a really good USB stereo sound card with digital out for Linux (cost "< 20 €"), and you're up for some work, here's a German guide how to build your own.
But according to German Amazon reviews and this website, the
Creative SoundBlaster X-Fi Surround 5.1 USB
is also supported in Linux - at least for stereo. A German guide is in the Ubuntu forums, but it seems it should work with any current Linux.
Both cards have driver issues. It seems the Creative card doesn't work well in Vista x64 (no/bad subwoofer sound). I think in the end I will decide for the Creative card anyway. It's much newer and probably has better sound than the much older Terratec box.