Let me answer the unanswered part of the question
What assembly references should be used for this purpose?
There are many 3rd party libraries available using which you can achive this task. Apart from that SMS gateway that you will chose also provides their own API for the purpose.
Is there any way to send free SMS'?
No, nothing comes for free. But if you are opting for bulk SMS you will be charged very less. You need to check out the rates and services provided by different mobile operators.
Should we use GSM or internet for this purpose?
You can use any of the network. There are both GSM and GPRS modems available for the purpose. Usually data transfer over internet is cheaper than data transfer over GSM network.
What service should we use actually for this purpose?
You should enquire with the mobile operators available in your region which provide such services. You will get to know more from them.
I would suggest you to read this guide:
Introduction to SMS Messaging[
^]. It will clear most of your doubts.
Hope that helps! :thumbsup:
Cheers!
Ankur