I too had this problem. This is what I found. The failure mode is likely a faulty seat sensor. The sensor purpose is to determine if passenger is less than 30 pounds and if so disable air bags. This is to protect infants and was used only for the US market. There has been a safety recall on the airbag sensor largely due to high failure rate.
There are three ways to resolve.
Install new occupancy sensor and reset error code. Likely that this will done under the recall by your Dealer. Also likely that you will be doing something again within ten years at which time it will not be covered.
Second option is to disconnect seat sensor, purchase a three wire seat occupancy emulator (box that has diode, resistor), connect to emulator, and reset error codes. The emulator is under $100 and available on eBay. It is called BMW 3 Series Plug Bypass Passenger Seat Occupancy Airbag Sensor Mat.
Third is to code out the occupancy sensor, disconnect sensor, reset error codes. For my 06 352i it was changing the line from active to nicht_aktiv for E89_OC3_1 in the ABS module using NCSExpert. You can then verify that passenger airbag is fully functional in INPA.
Lastly, a infant should never ride in the front seat.
Last edited by George Ab; 01-09-2013 at 04:07 AM.