The start of an I2C transaction needs to be in a defined mode. That or there needs to be a sequence of bytes that, in all modes, resets the state.
If it's not (and as it stands, from what I can see), it is completely impossible to make a reliable driver for this product. Yes, it may work 99% of the time, but it cannot be made reliable.
Right now, there is no 'correct'.