Check the brushes on the motor. I thought my 4 yr old Bosch was faulty big-time, so I called out an engr for the same symptom. He simply changed the brushes!! I didn't even check mine, thinking it was the programmer, but it was a simple job to replace the worn brushes. New ones have 40mm each side, but at the 8mm stage, they start to fail.
Tim
May 2007