Success!

Thank you so much for your help bigengineer. I have come up with an alternate way of solving the problem which suits my needs quite well, so I will share it here:
#include <LCD4Bit.h>
LCD4Bit lcd = LCD4Bit(2);
void setup()
{
lcd.init();
lcd.clear();
lcd.cursorTo(1, 0);
Serial.begin(9600);
}
void loop ()
{
int data[128]; //allow as many values as the Serial buffer will accept
int idx = 0;
int wait = 250; //control the speed of that the text sent over Serial is printed
while (idx != 33) // this while statement will allow a 2 x 16 lcd display to print 32 characters, then set idx to 0, thus resetting the loop
{
int avail = Serial.available();
if (avail > 0)
{
if (idx != 16) //if idx does not equal 16, or we may still on the first line
{
if (idx != 32) // then check that we are not at the end of the second line
{
data[idx++] = Serial.read(); //if we are not, take the value from the serial and advance the array
lcd.print(data[idx-1]); //print the value from whereever the cursor is
delay(wait);
}
else //otherwise the value equals 32 and we are at the end of the second line
{
lcd.clear(); //clear everything
lcd.cursorTo(1, 0); //move back to the first position
data[idx++] = Serial.read(); // read & print
lcd.print(data[idx-1]);
delay(wait);
}
}
else // it equals 16 and you are at the end of the first line
{
lcd.cursorTo(2, 0); //so go to the second line
data[idx++] = Serial.read(); //read & print
lcd.print(data[idx-1]);
delay(wait);
}
}
} //end while
idx = 0;
}