To be fair. I have very similar issues in our Lexus and Toyota Van. I found this thread trying to figure out what version of Bluetooth the latest iDrive uses (New BMW is on order).
You have to think about these problems as if they're a macro based universal remote (like Logitech's Harmony Remote). Everything is fine when both system start talking to each other as they start from a common point. The issue happens when something changes without the other knowing it. This can happen from interference or simply using the Music App connected to another app. The issue is that the specifications don't allow for application specific updating to ensure common ground.
Also BMW has a compatibility site for popular phones. If you open the details for a given function it often has corrective actions; http://www.bmwusa.com/Standard/Content/Owner/BluetoothTechnology/bluetoothframed in.aspx
For the iPhone via USB the following is given;
"Limited functionality:
It is recommended to operate the mobile device with the vehicle control elements only.
Title information might not be updated if a title is selected on the mobile device or via the speech command on this device."
For Audio playback the following is given;
"Limited functionality:
At times, audio playback may not be heard. In this case please switch to a different audio source (i.e. radio) and back."
This one is also relevant to this thread from under iDrive control;
"Limited functionality:
Title information might not be updated if a title is selected on the mobile device or via the speech command on this device."
So while it's easy to blame BMW and Apple, it's also not realistic to expect these companies to develop their technologies simultaneously and in constant communication. They can only execute the specifications to the best of their ability. If you must place blame, blame the specifications set by the industry.