entonces las entradas a la iat no son las correctas, revisa el original, a que función específicamente va a y agrégalo a mano, es lo que se me ocurre por ahora.
Recuerdo que muchas funciones que antes estaban en kernel32, ahora le pertenecen a ntdll, y aveces en las entradas del grupo de kernel32 de la iat, veras algunas que pertenecen a la ntdll por la razón que mencioné, pero la verdad no te debería de dar problemas, me ha pasado muchas veces y corre de lo mas normal, algo más debe estar pasando.
Podes implementarle algún algoritmo de verificación de integridad, pero no uno si no varios y hacerlo en diferentes lugares y diferentes tiempos.
Eso si que es tedioso, y de cuando en cuando provoca alguna excepción para ir borrando los HBPs si es que hubiera, si no puedes usar la api que te devuelve la structure contex y hacer lo mismo.
pd: Creo que deberías tomar lo que te dice RHL, no había dado cuenta que lo mencionó XD, si está cargado te debe devolver el handle, si no está cargado pues error, y también puedes usar la api GetLastError.
Ahora porque no quieren que cargue esa dll?, que NO es fundamental para el desenvolvimiento correcto del game? XD