I had a similar problem of it not working at all. My problem was that I hadn't changed the LCD4Bit lcd = LCD4Bit(2); to 2 to reflect the fact I had 2 lines! At first I was working under assumption that changing that was optional. Turns out no.
Hope this helps.