Saving an unsigned long int to internal EEPROM

If you do not press a key, loop() does nothing. It does NOT display the stored value of count anywhere.

It does that only if you press the 'A' key.

       x = 0; // reset the counter

It would not be necessary to have a comment if you used a meaningful name for the variable. One letter names are rarely meaningful, except in short for loops.

       a = true;

I can't even guess at what a means. This variable DEFINITELY needs a new name.

             lcd.print( key ) ;  // new print statement <<<<<<<<<<<<<<<<

But, where have you told the LCD to print this character? By default, it will print right after the last character printed. Since the last thing you printed was "Set Count: nnn", the character will go after the n.

I suspect that you need a "clear" key, to clear the displayed value, put the cursor after the space after the colon, print 5 spaces, put the cursor back after the space after the colon, AND set x (with it's new, better name) to 0.