I'm thinking it's got to be pretty cheap to replace the EEPROM, provided that you're prepared to do a cold start from scratch with a blank EEPROM; I don't know how complicated that is, or whether your records will be adequate to fill in the needed data that isn't automatically filled in.
Note that going from "keypad doesn't work" to "EEPROM worn out" or "EPROM funky" is kind of a long leap. I personally would prefer to verify each module/link is {okay|not_okay} in a linear fashion starting at the keypad, or better, at the power source for the keypad.
It appears that the keypad connector is a two-row pin header without latching means, suggesting that the keypad is connected by a ribbon cable with IDC connectors. I think that the interface between IDC connectors and the cable conductors does eventually degrade, and the unit in question is not new, so it might be worthwhile to try replacing the keypad cable, if you can't easily verify continuity from end to end as installed.
... but wait; let's back up a bit.
You said in your first message that you can individually control the i/o points, or simulations of the i/o points, from the keypad.
So the first question that should be answered is "What's different?". I.e., when you 'test' the i/o points from the keypad, does that use a different circuit in the keypad, or anywhere else, than actually exercising the i/o points for real?
If, e.g., the keypad communicates only with the CPU, over the same conductors all the time, i.e. the keypad does not have special test circuitry, then we can tentatively assume the keypad is okay, and the next thing to suspect and test is the i/o relay 'print', which is probably fused (check the fuse(s)!) or the connection from the CPU 'print' to the i/o relay 'print'.
Mike Halloran
Pembroke Pines, FL, USA