I can confirm this too. I'm actually able to play the files now!
Just took a long wavefile, converted it xwma at 96 kHz using xwmaencode. Simply copied the header and pasted first in one of the extracted files from the wavebanks then converted it back to .WAV using xwmaencode. It gives an error because the header size is off but it still converts the file and I can play it successfully. Generating a correct header should be no problem!
EDIT: So, for the record, the WAVEFORMATEX
chunk I ended up with for the working file was:
66 6D 74 20 12 00 00 00 61 01 02 00 44 AC 00 00 E0 2E 00 00 6B 11 10 00 00 00
So the problem boils down to generating the dpds
(decoded packet cumulative data size array). Hopefully there is some obvious way to generate it from the actual data somehow.