Sometimes the system warning lights are controlled by the onboard computer, and can only be reset by a dealer with an OBD-II device.
For instance, one thing that I often do when I get a new car is to unplug the sensor that's used to buzz at me if I don't buckle my seat belt. It's not that I go without a seatbelt (in fact, I wear my seat belt religiously), I just put it on AFTER I've started the engine and I hate being buzzed at when the car is starting.
However on my new car, after I did that, the "SRS" (airbag) light came on and would not go out. It turns out that the SRS system uses that same sensor (or at least the wiring connector harness that I unplugged) to make a determination about whether or not to trigger a given airbag in case of an accident. Silly if you ask me, there's gonna be a driver in the driver's seat, right?
Anyway, after I plugged the sensor back in and it was all back to factory spec, the SRS light still did not turn off. It required a trip to the dealership (and an explanation, during which they gave me a dirty look) in order to get them to flip the bit in the computer that turned off the light.