I'm very sorry, but I have no clue what it could be and what else to test ![]()
You could remove those 1k5 pullup resistors from the Due board to make the I2C bus comply with the I2C standard.
You could edit the source code of the Adafruit library to stop it at certain places and see when the SDA is low with a multimeter.
You could buy a Logic Analyzer.
The cheap 24MHz 8 channel logic analyzers work, but the USB connector does easily break.
I'm a big fan of the LHT00SU1, it has also a analog channel. Turn off the analog channel to be able to sample up to 24MHz for the digital inputs.
On the computer I use PulseView/sigrok.