The wave shield plays audio under interrupt. That's going to mean that it will need to select the correct chip (shield) repeatedly, many times each second.
I'm not sure I have a solution but that might be your issue.
One thing to consider is finding the interrupt service routine for the wave shield and making it restore the correct CS before it quits. Means messing with the library but it's all I can think of.
Edit - of course theWiFly shield may be resetting the CS under interrupt too so you may need to modify that too.