It might be a bit-ness problem. Kernel.LoadLibrary is probably a PInvoke call to the unmanaged LoadLibrary call, likely used to load an unmanaged library. If it doesn't check whether the process is 32-bit or 64-bit and load the appropriate version of the unmanged library, you'll have issues (I actually thought you'd get an error about an invalid format, but the different message may be because it's skipping some of the other protections). Try forcing 32-bit mode and see if it helps (or changes the error): IIS 6 or IIS 7.
Though the error message doesn't seem to match what I'd expect for a 'file not found' problem, another difference between a console application and web application that could matter is that the current directory is different (in case the third-party library doesn't pass a full path to LoadLIbrary) - it is usually the directory of the application when running a console app, but it usually starts out as a windows system directory in a webapp. This could matter if it's expecting the DLL it's loading to be in the current directory. If you suspect it's loading the wrong file, Process Monitor can be a very useful tool - it'll let you see all the activity the process is doing, such as what files it tries to load and the like.