Quizás tengas que esperar un ">" después de cada línea que envías.
Código Delphi
[-]
procedure TForm1.BEnviarClick(Sender: TObject);
var
strnumero:string;
rec: string;
begin
SdpCel.Active:= True;
strnumero:= EArea.text + ENumero.text;
SdpCel.WriteData('AT+CMGS="' + strnumero +'"' + #13);
rec:= SdpCel.ReadData;
if (rec <> '>') then
raise exception "ERROR enviando primera linea. "+rec
SdpCel.WriteData(MMensaje.Text + #13);
rec:= SdpCel.ReadData;
if (rec <> '>') then
raise exception "ERROR enviando segunda linea. "+rec
SdpCel.WriteData(#26);
rec:= SdpCel.ReadData;
if (rec <> '>') then
raise exception "ERROR enviando tercera linea. "+rec
rec:= SdpCel.ReadData;
if (UpperCase(rec) = 'OK') then
ShowMessage('Mensaje enviado correctamente')
end;