In the sample I posted, we used RegisterAddress 0x00. I have also tested with a different register address and read it back:
I2c_SetConfigInt(i2c, L"RegisterAddr", 0x10, StoreVolatile);
I debugged through the code to check what we actually read back. The second time you run the sample, read will return you what you actually wrote in the previous run. I tested on a ixora and read / write from the EEPROM. I can also share the project with you in order to save you some time testing the native code example.