Personally, I've found that online services are the best way to proceed with this type of application. I've used the modems with the sim card insert and they are messy and slow. Currently, I use a service called Twilio
]. They are excellent at customer service and they support a wide range of applications through their API. They have sample source code for C#, so it wouldn't be a big deal for you to translate a working sample into VB.NET.
I did come across another company that seems to be similar to Twilio. I have not used them yet, but they might be cheaper for international texts (that is, outside the US) and they might be better at the speed at which you can send texts. Here is their site: