I very much doubt that it is my program causing your error, since, as Hippe correctly points out, my *error* function is localised within the NumInc function definition, and furthermore the statement to restore the System Variables in my program is error trapped in itself.
It sounds like you are using a program in which the *error* function is not localised and that is attempting to restore the CMDECHO System Variable using a perhaps localised variable with no checking for a non-nil value before attempting to set the CMDECHO System Variable.
Lee