im not good in vb6 but lets talk this logically
dont put your code to send SMS in a LOOP it seems that the code is executed many times
thats why it will send a lot of message unless the condition in your loop is done or you EXIT your application.
strSendResult = objSMS.SendSMS(MobileNo, message)
on top of this code you have a do while loop
u may use Try Catch instead to Get errors
you should only use loop to send a particular message in many numbers .
or to concatenate messages since if you exceed your message up to 160 chars
you will get error. because sending a single sms will support only 160 characters
if you exceed in 160 chars we are now talking about another sms.