We have a lot of customers using SUB-20 as I2C master. You are the only one who decided that DLL is wrong.
The I2C read of 16 bytes does not fail. The data you read is not the data you've expected.
I see two ways to check the reason.
1. Run test I told you before:
2. Take an oscilloscope and capture the read to see if data on the wire is FF or not. (More likely it is FF and it's mean that EEPROM was not properly written)In any case to be sure I2C is working properly try to write 16 bytes byte by byte advancing all the time Memory Address and writing only one byte.
After that read all 16 bytes from the first address.