Hi, Luminous. I'm sorry this change gave you trouble. What happened here was that when XAudio2 development started we were in the Windows mind-set (handle all errors, never crash). Later on we migrated to Xbox-style error handling (don't check for bad calls at all), but the work happened late in the dev cycle, blindsiding some our loyal Beta users.
I'll make sure this issue is well documented, but here is the gist: in the retail build we never validate any function calls, and anything can happen if you call them wrong - ranging from (accidentally) correct behavior to an instant crash (which is preferable, as it guarantees that you notice the problem). In the debug build we do check all calls exhaustively, and if anything is wrong we break into the debugger with a fairly detailed message explaining the error. Hence I strongly recommend using the debug build during development; it may save you a lot of time.
Note that we distinguish between user errors and system errors. User errors are bugs in the code calling XAudio2, so they're completely avoidable, and if they are fixed before shipping there's no reason for XAudio2 to waste CPU time checking for them. System errors are unpredictable conditions that can affect any app, and for these we still return error codes that the customer should check for and handle appropriately.
This explains the vanished return codes; they were all for user error validation. The remaining few errors are for system errors, currently just: problems with the hardware XMA decoder, problems using a given XAPO, removal of the audio device we were using, and out-of-memory conditions (these are avoidable on Xbox since you have a fixed budget, but they always have to be handled on Windows).
The main benefit of this change is that it helps customers find and fix XAudio2 usage errors before shipping. It also reduces XAudio2's memory and CPU footprint a little.
Having said all that, you may have found an actual XAudio2 bug regarding filters on submix voices, so I'd ask you to try with the debug XAudio2 library and see what the debugger says. If it doesn't complain and you still see this behavior, we'd definitely want to know.
Thanks,
Dugan Porter
Game Audio Team