Opening the connection manager to let the user initiate the connection is one possible solution for your 'issue': you may launch ctlpnl.exe with the right argument "ctlpnl.exe cplmain.cpl,19"
Anothother solution, if you have a flat rate data plan, is to make the connection an AlwaysOn connection: wap provisioning
But the best and easiest solution is to make the connection manager aware of your apps need to connect to the internet. Now you can start to use the ConnMgr API from your application code.
It would be also suficiant, if you just let the ConnMgr know that your app needs internet. The ConnMgr only establishes an internet connection if it is requested or needed. ConnMgr only "knows" that you need an internet connection, when your app does a http request. A ftp or socket request will NOT trigger the connection manager! So, just add some line in your code for a http request to a known host (ie stackoverflow.com) and verfiy that you get back some answer. When the http request was successful you can start to use the web service.
I would go first for the last suggestion and then for the ConnMgr API. As a last offer you may allow the user to always manually do the connect (or accidently change connection settings?).