I'd suggest that some of your names are misleading:
#define SIZE_OF_EEPROM 4 // size of bank data in EEPROM
My EEPROM is much larger than that. SIZE_OF_BANK might be a better name.
int spot = EEPROM_BASE + 1 + (SIZE_OF_EEPROM * indx);
spot? How about startAddress?
Your class should have a constructor that also calls init(), so that you can be assured that init() gets called.
You deleteEvent() method always removes the last event. I don't like that design. It should be able to remove the nth event.
Your checkEvents() method returns true if any event occurred. It should return -1 for no event, and n for the nth event.
Your other methods assume that the first event in the list is the event that fired.
Really, I think your problem is in the Events class. You need to know which event occurred, so that you can get the data for that event. Deleting the event, and re-adding it, is silly. Just add a method to reset the nth event's eventTime value.