X10 may have changed the chip functionality, and thus the programming steps over time. For example, I tried programming a couple of old (mid-2000s ?) KR19A keychain remotes according to the downloadable PDF instructions on the X10 site, but the method didn't work. I then discovered that I had the original package insert that came with the remotes and, indeed, when I followed those instructions, the devices could be programmed. The method involves pressing and holding the top ON button until it blinks the house code (default is 1 blink = house code "A"). Then, press the top ON button the number of times that correspond to the desired house code, e.g., 13=M. Now, this is important: On the FINAL button press, hold the button and wait for the remote to confirm the code by blinking the number of times you pressed the button, and only then release the ON button. To program the unit code, repeat the procedure using the top OFF button. If the battery ever goes dead and needs to be replaced, the unit reverts to house code A, units 1 & 2.
Edit: The date code stickers inside the remotes were 9B07.