Suspect that the connection to the motor is bad or that the decoder's motor control circuits have died. More likely the former, though.
What engine is this decoder in?
In order to read/write to a decoder on a programming track, you must get an "ACK" signal back from the decoder, which usually involves pulsing the motor. If the motor isn't connected, you will get read/write errors - and of course, the engine won't run, though the lights may work (exactly what you are seeing).
If you did manage to do a factory reset, then the DCC address should be back to "03".
Check the connections between the decoder and motor - and check that the motor itself works (you can do this by using a 9v battery with wires - make sure the decoder is disconnected, attach the battery wires, and see if the motor runs). If the motor itself is good, check connections between it and the decoder. If that still produces no joy, you probably have a bad decoder.
John C.