time = time + interval;
Adding times is not a good idea. Overflow is not handled properly with addition.
delay(interval);
If you are going to use the dreaded delay(), why bother with relative times, anyway.
I initially tried to not use the "dreaded delay". You may be correct, and this could be part of my problem. I will try and revert back to code that does not use the delay.
Serial.begin(4800); // Open serial connection at baud rate of 4800
This belongs in setup(). You don't need to do this every time you want to send a text message.
Serial.end();
You don't ever need to do this.
I did have this in the "setup", but I moved it into the loop because I was afraid that there was some sort of connection issue between my code and the phone (over time). I will move it back.
delay(2000); // Wait a second
Can't count, huh?
I can't tell you how hard this made my laugh!

Initially, it was 1000, but I did end up changing it.
Every AT command elicits a response. Why do you not read the responses?
I suppose I could, I am not sure where I would store them? How could I read these?