The hd44780 library doesn’t need or use the r/w line for LCD data/character writes or commands.
The r/w signal is only used/needed for data/character or status reads.
It is noted on the github page in the API summary for the api functions: read() and status() but it may not be as obvious is it could be.
The diagnostic sketch does status and data/character reads as part of its diagnostic tests so yes if the r/w signal is not connected or not working correctly the diagnostic sketch will flag an error.
While it is possible that the particular backpack involved does not connect the r/w pin of the LCD up to the PCF8574 chip, so far I’ve not seen a PCF8574 based backpack that didn’t hook up the LCD r/w pin to the PCF8574.
The backpack in the photos looks identical to one of the ones I have.
When you say you took it apart were you meaning the actual LCD and backpack board? or just the connections to/from the backpack and the Arduino?
I’m a bit concerned that you said you messed up your board? How did that happen? and what was the issue and resolution to get it working again?
The solder connections in the photos appear to look ok.
What is concerning is what is on the display in photo image2.JPG
That looks like some some kind of h/w issue with the LCD module.
Does it change if you press on the LCD glass?
Also, keep in mind that in order to start clean with the LCD you need to power cycle the LCD.
i.e. if there was some kind of issue that caused the LCD chipset to get confused or enter into some strange state, the only way to for sure clear it and start clean is to power cycle the LCD. No amount of resets, or re-uploading the code will reset the LCD as there is no way to really reset a hd44780 LCD from either h/w or s/w. The only way to reset a hd44780 LCD is to power cycle it.
Also, in image1.JPG it looks like VCC signal might be shorting to the SD signal on the backpack.
Make sure those are not shorting as it could damage the Arduino processor.
While it shouldn’t matter given the real Arduino connects analog ground to power ground , you might try moving the black wire ground signal from the analog ground pin to one of the actual power ground pins over by the 5v pin. (just in case your board doesn’t connect the analog ground signal to power ground)