The problem may not be the C# code. With an ASP.NET web application using the GoldMine API, here are a few things to check, mostly setup and permission issues:
Make sure you have GoldMine client installed on your IIS machine and verify you can open and successfully login to GoldMine on that machine. If you can't successfully run the regular GoldMine client on your IIS box as a user, chances are you won't get too far with the API either.
Make sure you are running the ApplicationPool using an account that has read/write access to the GoldMine Sysdir folder. So that means DON'T use a mapped drive for the Sysdir value passed to the API. Use either local drive if IIS and GoldMine are on the same server, or use UNC path for Sysdir value if GoldMine and IIS are on different servers. If IIS and GoldMine are on different servers, use a domain user account for your Application Pool user, and give that user read/write rights to GoldMine folder (on local IIS and GoldMine share).
By the way, this can make debugging from Visual Studio difficult since I'm not sure how much control you have over the AppPool when running in debug mode while developing. I tend to deploy to an IIS server each time I want to compile and test.
You may want to read-up on, install, and configure GoldMine Web if you can. Going thru their setup guide will help you understand the architecture and requirements of using an ASP.Net app with the GoldMine API. Because that is just what GoldMine Web is.
Good luck!