Error when reading from eeprom using EEPROMex

Hi,

using a slightly modified version of the example eeprom read sketch I can read the full range of eeprom addresses (Nano 328P):

#include <EEPROM.h>

int a = 0;
int value;

void setup()
{
  Serial.begin(9600);

  for (a=0; a<1024; a++)
  {
    value = EEPROM.read(a);
    Serial.print(a);
    Serial.print("\t");
    Serial.print(value);
    Serial.println();
  }

}

void loop()
{
}

Results:

1    3
2    233
3    3
4    255
5    255
6    255
.
.
.
1020    255
1021    255
1022    255
1023    255

However, if I use the same sketch and change the library to EEPROMex I get errors from address 511 onwards

#include <EEPROMex.h>

int a = 0;
int value;

void setup()
{
  Serial.begin(9600);

  for (a=0; a<1024; a++)
  {
    value = EEPROM.read(a);
    Serial.print(a);
    Serial.print("\t");
    Serial.print(value);
    Serial.println();
  }

}

void loop()
{
}

Results:

.
.
.

509    255
510    255
511    255
Attempt to write outside of EEPROM memory
512    0
Attempt to write outside of EEPROM memory
513    0
.
.
.

Am I doing something wrong is there a problem with the EEPROMex library?
Is the EEPROMex library treating every address as 2 bytes?

What are the other recommendations for easily (novice friendly) reading and writing to eeprom; bytes, ints, longs and arrays of longs?