You can programmatically configure the VPN connection using the
Configuration Manager and the CM_VPNEntries Configuration Service Provider.
Then you can have your program connect using the Connection Manager.
OpenNETCF has a C# wrapper around Connection Manager and I believe
Configuration Manager has a managed interface in one of the newer SDKs.