I'm using LiquidCrystal (0017, Linux) on a 4x16 LCD using the four bit interface and I found that the column settings for rows 3 and 4 are incorrect.
Setup is: lcd.begin(16, 4);
lcd.setCursor(0, 2) actually positions the cursor at (4, 2).
Workaround: decrement the column value 4 for rows three and four; using a negative column index works fine (i.e. lcd.setCursor(-4, 2) ).
I searched the forum for a prior report but nothing turned up.