It looks (form code inspection) like the "load address" command left-shifts the provided address (assuming a word address for flash programming), but the Write EEPROM code doesn't shift that back, which should cause EEPROM programming that starts at any location other than zero to end up in the wrong place.