Hey Steve.

I could be wrong, but I think it needs a fix.

The LCD will Power-up in 8-bit mode, but PBP will still be sending 4-bit.
So each nibble acts as a full command.
If you use $33 (twice), then it will get the "reset" 4 times, instead of $30,$00,$30,$00 ...

Then when it switches to 4-bit mode, it receives an extra nibble from the $20 which puts it out of sync with the rest of the data. By pulsing the E pin once it clocks in another $0 which is a "nothing" command and puts it back in sync.

Like this ...
Code:
ManualLCDInit:
    FLAGS=2  ' Void PBP lcd initialisation... it's a nice feature !!!
    PAUSE 500
    Lcdout $FE, $33
    Lcdout $FE, $33
    Lcdout $FE, $20 ' official 4 bit mode
    @  bsf LCD_EREG, LCD_EBIT
    PAUSEUS 20
    @  bcf LCD_EREG, LCD_EBIT

 ; -- rest is the same --