Because Perl looks in several directories to require or use files. The current working directory is always included in the list. When you tested your CGI script from the command line you cd'd to the directory and then ran it, so it worked. Your web server does not do this - it runs the script without changing its working directory to the CGI directory.
You could also have solved the problem with:
use lib 'c:\s1ws\WebServer6.1\docs\vcol-manager';
require 'vcol-utils.pl';