EEPROMex "Exceeded maximum number of writes"

I fixed my code.. well a bit. I think the problem is probably more clear now.

#include <EEPROMex.h>

//eepromextest using the uno
//builds a letter layout with randomly assigned ints

int alphaAddress = 0;

byte key=24;
boolean builtLayout=false;
char theLetter;
byte Lcount=0;

#define ALPHA 97
#define LSIZE 26
int layout[LSIZE]={
  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
};

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

  EEPROM.setMemPool(350, EEPROMSizeUno);
  EEPROM.setMaxAllowedWrites(420);

  delay(2000);
  //wait to bring up serial monitor
  if (beenHere(511,key)==false)
  {
    randAssignment();
    EEPROM.write(511,key);
    //set key so assignment only happens once/change to rewrite
    Serial.println("key wrote");
  }
  else
  {
    builtLayout=true;
  };
  Serial.print("build ");
  Serial.println(builtLayout);

  //this finds the values and reports what letter they will corespond with
  for (int theValue=0;theValue<456;theValue++){
    theLetter=checkEX(theValue);
    if(theLetter==0)
    {
      continue;
    }
    else
    {
      Serial.print(theLetter);
      Serial.print(" == ");
      Serial.println(theValue);
      Lcount++;
    };
    if(Lcount==LSIZE)
    {
      break;
    }
  }
}

void loop() 
{
}
//-------------------------------------------------random assignement function
void randAssignment()
{
  for (int makeLetter=0;makeLetter<LSIZE;makeLetter++)
  {
    int data=random(1, 455);
    layout[makeLetter]=data;
    Serial.print(char(makeLetter+ALPHA));
    Serial.print("==");
    Serial.println(data);
    delay(30);
  }
  EEPROM.updateBlock<int>(alphaAddress, layout, LSIZE);
  builtLayout=true;
}
//----------------------------------------------layout checking function
char checkEX(int chordvalue)
{
  EEPROM.readBlock<int>(alphaAddress, layout, LSIZE);
  for(int i=0;i<LSIZE;i++)
  {
    if(layout[i]==chordvalue)
    {
      char letteR=char(i+ALPHA);
      return letteR;
      //adds 97 and coverts to its corresponding letter
    }
  }
  return 0;
}


//-----------------------------check for persistent key
boolean beenHere(int address, byte code)
{
  //establishes if source has been run on uploaded to unit with a key/code
  byte potentialCode=EEPROM.read(address);
  if(code==potentialCode){
    return true;
  }
  else
  {
    return false;
  };
}

And this is the result..

a==10
b==82
c==48
d==193
e==329
f==295
g==287
h==129
i==106
j==198
k==269
l==118
m==265
n==423
o==14
p==80
q==308
r==228
s==355
t==71
u==86
v==96
w==42
x==28
y==9
z==450
key wrote
build 1
y == 9
a == 10
o == 14
x == 28
w == 42
c == 48
t == 71
p == 80
b == 82
u == 86
v == 96
i == 106
l == 118
h == 129
d == 193
j == 198
r == 228
m == 265
k == 269
g == 287
f == 295
q == 308
e == 329
s == 355
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
n == 423
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
Exceeded maximum number of writes
z == 450

I have a feeling the library uses the same write function to read (write) the value into ram, which adds to the write count.
Which would explain the unpredictable behavior
I'm still going to give the library the benefit of the doubt though and say I'm probably wrong
Any other ideas?