It's not actually a bug. The block write size to EEPROM is done in blocks of two bytes,
so when you have an odd number of bytes, the most significant byte written will be 0.

If you change DATA (1), 0 (10) to DATA (1), 1 (10) you'll see how the msb is 0, and you
have only 10 1's actually being written.