Just a thought, but are you going to a new line per text and then back to the origin ?
I believe the HD47780 driven LCDs address go from 0x00 to 0x27 and then line 2 begins at address 0x40 to 0x67.
A 16x2 character lcd is visible only between address 0x00-0x0f and 0x40-0x4f
If you writing your texts consectively, then your first text would appear, then your second text would be outside the visible region. Text 3 would appear on the second line, text 4 would be invisible.
If you able to only see 10, out of 20 texts, then it seems that the missing 10 are outside the visible address locations.
Make sure you are going to a new line(address 0x40) or back to the beginning(address 0x00).
If thats not it, post your code and someone will be able to help.