la idea es mirar desde mi programa si otro programa llama a cualquiera de esas dos funciones y denegarselo o directamente cerrar mi programa
¿Denegar la creacion de un hilo arbitrariamente o la creacion de un hilo dentro de tu proceso?
Para hacerlo tenes dos posibilidades:
_En modo Usuario tenes que inyectar codigo (puede ser una DLL por ejemplo) en TODOS y cada uno de los procesos que pretendas monitorizar para despues "hookear" la funcion correspondiente.
_En modo Kernel tenes que registrar una rutina de notificacion o "hookear" la funcion correspondiente.
Todo lo que implique "hooks" no es trivial ...