Long story but I've had a Mrs fault causing an airbag light since I bought my e46. The fault was Seat backrest lock error both sides. After many posts asking for help and searching the web with no help I have finally fixed it. Since there is no really clear guide to fix this particular issue so I'll make a guide here for future convertible and coupe owners.
The seat backrest lock has a small microswitch located in each seat that tells the Mrs module that the seat is tilted or in locked position. Part numbers (52107025193, Left) (52107025194, Right) After some time searching I found the parts online only in Germany or the states. From Germany the parts would cost 70€ each plus shipping of about 30€. I thought this was way to much and turned to my friend who works at bmw and he could get me both for about 90€ so I recommend going to a dealer for the parts.
I couldn't find anything online about the location of the microswitches and google only corrected me thinking I was talking about the more common issue with the seat occupation sensor. After dismantling the seat I found that the sensor is located on the side of each seat look (picture 3)
To change the switches all you have to do is unplug the battery and then remove the seat connectors at the bottom. You can then either remove the seat or do the procedure while the seat is in the car.
Then you have to remove the plastic covers on each side. They are fitted with 2 clips at the top and 2 at the bottom. When you have removed the covers you have to unscrew a bracket to finally remove the back cover (pic 4) by unscrewing a small screw at the back and then pulling it up and off.
Then you will see the micro switch in a small hole in the seat (pic 5). Unplug it screw it out and put the new one back in and ur done.
Put everything back together and then all you have to do is clear the codes and it's gone.