maybe it's iOS6?
I have 2 iPhone4s (not 4s - 4<plural>)
My wife's stopped shuffling sometime after we upgraded to iOS6 - but didn't notice until after the car's battery had been disconnected/reconnected to fix an issue with the engine management system.
I deregistered her phone then reregistered it - no go.
I tried turning my wife's iPhone off/on to see if that made a difference. The phone would not turn on! One hour later, after a visit to the Genius bar, I have a 'brand new' iPhone 4.
Registered the new iPhone with the car and ..... SAME PROBLEM! It won't shuffle.
Odd thing is, it won't shuffle when playing via the onboard speaker, headphones and even AirPlay as long as it is connected to the car's bluetooth. Switch car off and shuffle works!
MY iPhone shuffles ok and it's running iOS6 too.
I too have a CX-5.
I wish I'd had the foresight to try the new iPhone while it still had iOS5 on it - it just didn't occur to me that it too would not shuffle (I assumed that bluetooth oddness was the beginnings of a rapid decline than ended in a dead phone)
