Ваш код довольно запутанный из-за того, что вы объявили константу WH_MOUSE значением 14. WH_MOUSE на самом деле имеет значение 7, а 14 - значение WH_MOUSE_LL (и да, я знаю, что вы написали «низкий уровень» ваш вопрос).
Но затем вы продолжаете использовать связанные с WH_MOUSE типы. В частности, подключаемая процедура ловушки WH_MOUSE_LL получает структуру MSLLHOOKSTRUCT, а не используемую вами MOUSEHOOKSTRUCT.
Кроме того, как намекал Ханс и Тергивер, вы должны передать дескриптор модуля своего собственного кода, а не User32.dll. Попробуйте использовать Marshal.GetHINSTANCE (typeof (globalMouse) .Module).