The switch is the most frequent cause of the problem. However, if you do have the less common problem of burned bulb holder contacts, this can also cause the message. When these both exist, it can be a real pain to figure out.
Basically, there is an electronic circuit that senses the current flowing to each of the bulbs. Under normal circumstances, the current to all bulbs is approx. equal and the circuit sees no imbalance.
If a bulb burns out, the circuit senses the imbalance and triggers the alert. The headaches arise when a switch contact or bulb holder gets flaky. You then see intermittent messages because the imbalance comes and goes based on vibration, temperature, humidity and other acts of god.
If you have burned contacts, here are some suggestions to help stabilize things:
- replace the holders. They are under $10 at the dealer. I know from experience on my 94 that cleaning the contacts will be temporary. they get pitted from the burning, and once pitted, will burn again.
- Clean the copper contact surface trace in the tail light assembly where the holder twists in. The burned contact messes up this area as well, causes higher resistance and therefore heat, leading to more burned contacts. In severe cases, it destroys the trace. This is another reason to not reuse a burned holder.
- Using different brands/types of bulbs can cause the imbalance as they can draw different amount of current, such as regular vs. the LL (Long Life) bulbs. Cheap chinese bulbs (i.e. Autozone house brand) out of the same package can actually vary quite a bit due to poor design and quality control.
- Some people believe that the problem is caused by US market bulbs - the belief is that they burn hotter and damage the holder, and the solution is to use BMW factory bulbs from the dealer. I had a burned contact on my 99, so I bought a new holder and ALL new rear bulbs, and have had no problems since. It probably cost me an extra $10, but no recurring problems.