I've been holding off on getting an iPhone 4 (I have a 3gs) solely because I didn't want to wait for, then pay for, the BMW iPhone 4 adapter since I have a 3g adapter.
Here's my proposed fix:
an extension cable for the iPhone with the existing iPhone 3g adapter (Link to Amazon).
I've had this in my X5d for a week, and it charges, the iPod works through the iDrive, and the antenna-through-the-shark-fin works, too. (Only tried on my 3GS phone, but it's the same cable for both versions....).
Next is to try it with an iPhone 4, though I have no doubt it'll work.
Additional benefits:
- the phone can be outside the console, so I don't leave it in the car. Which I do.
- the phone is available for button pushing outside the console (mute, dialing, etc).
- theoretically, others in the car could text, use the phone, etc, while still charging and using the shark fin antenna. I'd never text and drive.

I'd be interested in others' comments.