SPARKFUN external EEPROM library - issue with arrays

Why? It'd be better to understand why you have that abnormal FF value, don't you think? I don't like "mysterious" things without explanation, and when these things happen I try to understand what it is anyway.

Do you think it's an error in the EEPROM? Or in the library you're using? Or maybe it's kinda writing problem?
The dump you showed is related to myMem.get(), but how did you do myMem.put()? Can you show us both?

And what happens if you change the struct by adding a byte between the two and read it back? Something like this:

typedef struct                
{
    uint8_t version;             // 1 byte
    uint8_t reserved[3];       // 3 Byte  padding

    bool   cal_A[4];      // 4 Byte
    byte   dummy; // jump the "extra" 0xFF?
    bool   cal_B[4];      // 4 Byte
    float   korr_B[4][8];   // 128 Byte
    float   korr_A[4][8];   // 128 Byte

    uint16_t reserved2;        // 2 Byte
    uint16_t crc;              // 2 Byte        
} calstruct;

PS: the values I read from your picture tell me the second array values are 2.1 not 2.2... 2.1 is "40 06 66 66" while 2.2 is "40 0C CC CD".