There's one other thing I haven't done which might be required. I haven't pulled up the I2C clock or data lines with weak pull up resistors. Because the static display code appeared to be working well, I assumed it was done within the display module.

Troy