The display is 20X4 instead of 16X2. I've tried adjusting the lcd.begin statement to account for that but I get the same results.
I tried it with and without the setCursor call, same behavior.
try taking away the counter and just have the word hello world displayed.
For a moment I thought my LCD might not be broken, but that's what it's looking like to me.
I also tried hooking it up in 8-bit mode and I didn't get anything different,