The airbag light came on in my E46, and lit up every time I used it until my Indy read the codes and reset it.
It seems it was triggered by a one-off issue with the driver's seat pre-tensioner, but apparently air-bag lights stay on regardless of whether the fault is a one-off or continuous. Which I suppose is the safe way to go.