Hey I've had this issue, not read all of the above but have researched a lot into this in the past...
I was told that the wiring under the front seats can be to blame.
I have a 147 2.0L Lusso 3 door.
When they put the car together there are yellow wiring connectors under the front seats.
They can come loose somehow (bad design and after reading extensively into this it's clear that it is a design fault and really should have been recalled on it) when a passenger gets into the rear the front seats slide forward and back stressing the connection and then tripping it off and the circuit breaks I guess.
I thought the best solution would be to remove the connector and just solder the wires together. I can't see myself taking the front seats out the car that often ;-)
I asked my Dad to do it whilst I was away but access is not easy apparently so just switch cleaner may do the trick, and perhaps bend the connecting parts a bit the other way to get a more snug fit.
This must be done when the car is turned off by the way and battery disconnected for at least 30 minutes (I read somewhere before) so the capacitors that charge the airbag can discharge.
So there may be other faults but that is the most common apparently when moving the seats forward and back.
The trick is I heard to move the seats back and then in place when the car is turned off in future; so get everyone in before starting the car up, and turn the engine/ car off before letting them out ;-)
In the end my airbag warning light was still on and the local mechanic had some software apparently to check the diagnostics (I heard that to do this was £40.00 odd 5 years ago in a dealership; not sure how much it is now).
In the end it was just a fuse!!! ;-)