I finally found it... these two lines.
DEFINE LCD_RWREG 0 'defines the port where R/W line is connected to (set to 0 if not used)
DEFINE LCD_RWBIT 0 'defines the pin where R/W line is connected to (set to 0 if not used)

Take them out and it works perfectly.
For some reason I put them in this time and I never have before. I just noticed it.
New hair would still be appreciated.