Hi David. I'm assuming you're asking about Windows behavior (it's a different story on Xbox). Here's a partial answer:
1. If you use software buffers, DirectSound will attempt to mix correctly from a buffer's input channel positions (the ones specified by the buffer's WAVEFORMATEXTENSIBLE.dwChannelMask value) to the actual speaker positions (as reported by the audio driver). If you don't use WAVEFORMATEXTENSIBLE in your CreateSoundBuffer call, there is no dwChannelMask for dsound to look at so it defaults to a set of standard positionings based on the number of channels (5.1 for 6 channels, etc). Note also that the driver may lie about the number of attached speakers and their position, perhaps because the user specified them wrong in the control panel and the driver has no way of knowing the true setup.
2. Each input channel is mapped to the output channels like this: if there's already a speaker at the channel's intended position, map it 100% to that speaker, of course; otherwise, find the two "closest" speakers (one on either side of the intended position) and split the signal across them proportionally to how close they are (in azimuth angle terms).
3. I can't tell you off the top of my head what speaker position angles we used in these calculations, but I believe it was simply 45° for front-right, 90° for S-R, 135% for B-R, etc.
4. If you use hardware DirectSound buffers, all of this is implemented internally by the driver so you'd have to ask each manufacturer what they do... I wouldn't expect it to be wildly different than what we do, though. (At least subjectively it should sound similar.)
5. This is probably a little different on Windows Vista, since the entire audio system was revamped. (I'm still on XP myself.) The good news is that behavior should be more consistent across devices, since Vista doesn't support hardware acceleration at all. (In fact, consistency was one of the reasons to do this in the first place.)
I can't vouch for 100% accuracy, but I hope that helps -
Dugan Porter
Game Audio Team
Microsoft