SRS codes, once set, stay until cleared--even if the cause of the fault is corrected. I had the SRS failure on my car and suspected the seat sensor as well (I can't remember the message in the iDrive, but it seemed to point to the seat sensor) but it turned out to be a loose connection on the sensor wire of the battery pyro caused by an improperly installed battery hold-down allowing the battery to flop around going over bumps.
See this thread:
http://www.e90post.com/forums/showthread.php?t=458022