You could run the I2CexpDiag sketch to test out everything if you really want to be sure everything is ok.
That will test the i2c pins and test the internal RAM of the LCD.
It is my understanding that in the HD44780 library Bill adjusted the required delays to account for the I2C overhead.
While the library does account for I2C overhead, it is actually even smarter. It also allows the LCD to execute its instruction while the AVR is freed up to do other things.
So if the AVR does some things between telling the LCD to do something like writing a character that takes longer than the amount of time the LCD needs , there will be no added delays.
I have not seen any other library that does this. The value of this is that it self adjust the delay based on the dynamic situation which by default takes into consideration the speed of the processor.
In terms of using the wrong, hd44780 i/o class, yeah, reading seems to be a lost art these days.
A lot of the issue is that the library is incomplete, still in alpha state and not truly ready, and normally I would not release stuff like this.
However I felt for so many of the users struggling with getting their i2c backpack based LCDs up and running and often getting unhelpful and/or incorrect information or advice like what we just saw in post #4 that I went ahead and made it available.
On the positive side, I'm going to go back into all the HelloWorld examples and include what LCD h/w they are for.
I had plans to do this anyway but this makes it clearer that the added information will be helpful.
I'm not sure why I originally didn't do this. It was a total oversight on my part.
As a bit of history, the first iteration of this library package had a separate installable library for each class. I changed it to make things simpler and easier to install and maintain.
A few things like this got overlooked when I smooshed them all together.
But the intent is to make things as easy as possible.
The main thing missing right now is some proper documentation.
It is coming......