Windows.pm::user_exists is only checking the exit status of the net user command, not the output. If a user exists, the command should return an exit status of 0. If the user does not exist, it should return exit status 2.
Josh Thompson showed me a case where vcld.log was reporting exit status 0 (user exists) when the user did not exist:
I'm not sure why the exit status is incorrect. Regardless, the output should be checked to prevent this.