One problem with your loop of 1 to 90 is what if you dont have 90 incoming chars ?
The only real way to read a sms is to read one char and loop until no more arrive, you only need a short timeout, say half second.
That why I dod not use a for loop
also
serout portb.6,t1200,["at+cpms=",34,"me",34,13]
serin portb.7,t1200,5000,sms,["CPMS"] ************* Why have this line ?
pause 2000
The line is not really needed, you dont need the data, while I suppose its more correct to have it, its using code space etc




Bookmarks