Без библиотеки практически аналогично:
Procedure TryToSendSMS(Number: string, sms_text: string);
begin
exit := FALSE;
if not SmsStartSend('sms://' + Number, sms_text) then Halt;
if exit = false then while SmsIsSending do Delay(100);
if not SmsWasSuccessfull then Halt;
end;