I have problem with my roof operation but I could not find any clue from the google , so I decided to share it on my blog and hope it helps.
Last week my BMW Z4 E89 SDrive23i started to display outside temperature at 50 degree Celsius without changing to higher or lower despite the actual temperature is around 30 something , in Thailand. I called BMW Thailand for advice, they said that the outside temperature sensor will not cause any problem unless it display “minus” temperature, so it relaxed me a bit. One week later I was trying to open my roof but on the iDrive screen show a message “Roof can not be moved” I was wondering what was the cause of the problem.
Until I found one issue in owner’s manual saying that if outside temperature is below minus something degree celsius the roof will not open. Then I realised that there must be some sort of connection between the data sent out from the outside temperature sensor and the roof operation. The sensor might have been sending wrong or uncompilable data out and interfere with the roof operation and problem occurs.
So I decided to visit a service shop and changed the outside temperature sensor to see if there is any thing change for the roof ,but first thing first, after the change, the temperature displays the right value of the heat in Thailand. Then I try opening the roof, yes!!!! It works now.

Outside Temperature Sensor Z4 E89
So I am pretty confident that there is some sort of connection between the outside temperature sensor quality and roof operation. If you find that you have problem with the roof, please consider the outside temperature sensor too.
Cheers,