Как убрать возможность у пользователя закрывать программу?
А не пробовали стартовать программу как сервис (службу)?
Как это сделать - описано например здесь.
В шедулер проверку каждую минуту на запущенность нужного приложения, если не запущено - запускает. В итоге пользователь в конце концов устанет убивать процесс. Естественно, у пользователя не должно быть прав удалить задание в шедулере.