Во-первых не увидел MH_Initialize и MH_EnableHook, но судя по крашу на карте они есть, во-вторых тебе не нужно передавать указатель на хук
.
Proper example: MH_CreateHook( Target, Hook, ( void** )( &Original ) );
Improper your code: MH_CreateHook( Target, &Hook, ( void** )( &Original ) );
UPD: А, ну ебать и скринов с дебаггера в виде стека вызовов и конкретного места выброса исключения не увидел, может у тебя какие-то указатели на интерфейсы невалид?