DEFINE LCD__DREG PORTB <<---- The underscore doesn't look right...
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 0

Double-check your DEFINEs... if you have a spelling or other typo the compiler will NOT flag any error in your DEFINE lines - your program will just not work as expected.