мат часть или материальная часть? )) Dusk можно попробовать установить собственный хук на свои потоки и не вызывать в нем CallNextHookEx(). Помню, у меня от этого переставали работать остальные ловушки.. а может это просто глюк был. В любом случае, новые хуки, поставленные после твоего, тоже будут рабочими..
Конечно можно - перехватывай NtUserSetWindowsHookEx. А еще скажу что есть такая таблица хуков в процессе, проверяй ее на предмет хуков.
можно попробовать запретить загрузку лишних dll перехватив ntdll.LdrLoadDll и соответственно не грузить dll которые тебе не нужны. устанавливать перехват желательно как можно раньше (через tls например) во многих случаях (но вероятно не всегда) помогает. * снять хуки таким методом неполучиться можно только помешать установке новых.