You haven't got any code in your plugin to set the visible status at the moment. Take a look at profile.php, line 1142 (in an un-modified file). The invisible option is stored in a bitfield for the users options, so once set, you'll need to update them for the users account.
Completely un-tested, but something like the following should work:
PHP Code:
$userdata =& datamanager_init('User', $vbulletin, ERRTYPE_STANDARD);
$userdata->set_existing($vbulletin->userinfo);
$userdata->set_bitfield('options', 'invisible', 'set_options[invisible]');
$userdata->save
You'll need to play about with it a bit to get it working, but that should get you started.
Thanks,
Alan.