when i was building pc based karaoke/disco machines, i used usb sound cards (cost about £15 GBP each) and had 5 connected to the computer, thus giving me 5 discreet stereo channels. If i had needed more then i could just plug in more, simple as. (although limited by processor speed - which i'll get too)
As each usb sound card was installed - it was named by windows as - for example 'USB Sound', 'USB Sound 1'....ect
::WINDOWS ONLY::
DirectSound is very simple to set up, provided you just want to play sounds or music, eg mp3's, and you address the sound cards by name.
so i made a very small program (about 50 lines of code max) in vb, to allow me to play different mp3's on each of the different sound cards. worked brilliant. then later was built up so that each of the sound cards run to a disco mixer and improved the software to suit our machine, choosing songs ect. (side note: directSound is REALLY powerful, and can do some amazing things with sounds, and even more with the sound buffer)
(this was before usb mixers were affordable)
I also used the same setup on my home automation computer (ERIC - Electronic Resource Integration Computer - couldnt come up with a better accrynym) anyways, this setup allowed me to run my multi-room sound system, with each room being able to choose their music from the panel on the wall, all playing off the one computer (which also handles loads of other stuff round the house)
I imagine that it would meet your criteria quite well, and you can add usb sound cards (they use very low bandwidth) as you see fit, up to a maximum of around 16 or so i would say (on a 1ghz pc), and if you used usb 2 sound cards (not sure if they exist, but im sure they do) and a faster processor - i cant see why you couldn't run up to 50 or 60 indipendent stereo channels.
hope this helps, i choose this method for my project because it scales up so easily.