The URL of the request, or at least the part after the virtual directory you configured, or the URL to the dll, is passed over CGI in a different way than with IIS. CGI puts all parameters and HTTP request values in environment variables of the CGI process it starts. IIS uses an Extension Control Block that provide access to these values.
If your IIS implementation is showing the same page with a different URL, my first idea would be to check if this URL is processed correctly.
For a bit of example code, have a look at how I did it here.