I am baffled ... A script in ' Visual Basic' calling Moodle WS ... I did not know it was possible
Ken is right. With the 'old version' of OK Tech WS distribued by Remote Learner and documented in the book https://www.packtpub.com/moodle-1-9-extension-development/book you must
1) set auth value to 'manual'
2) set the value of a field named mnethostid to a proper value ( 3 is an example, you should look into Moodle's table mdl_config for the proper value (look for a record whose name is 'mnet_localhost_id' )).
3) you must also pay attention to the password. With Remote Learner 's WS it MUST be md5 encoded by you script .
In the long run you should consider replacing Remote Leaner's implementation with revision 1.8, available here https://github.com/patrickpollet/moodlews
Just unzip it in your Moodle's directory and change you client set up to call
http://yourmoodle/wspp/wsdl_pp.php instead of http://yourmoodle/Web Service/wsdl.php
Beside the fact that the errors above are fixed ( don't set auth, mnethostid, lang, confirmed,deleted ... and the server will adjust them to the correct default values, and the password will be md5 encoded on the server side using Moodle's internal hash, including the recently recommended 'password salt' security setting, unless you send yourself a passwordmd5 attribute ), you will get much more operations and Moodle's 2.0 compatibilty.
For example an operation named add_user () which is simpler to use that edit_users since it requires only an UserDatum record (with no action attribute set) and not anymore an array containing one UserDatum with action set to 'Add'. see http://moodle.org/mod/forum/post.php?reply=632104