Может формально ExitProcess и более верный метод, но если сдизасить Halt, можно увидеть, что там идет освобождение всего и вся (ДЛЛ, объектов) и после чего вызов того самого ExitProcess. Вот конец процедуры Halt:
Код:
mov eax, uExitCode
push eax ; uExitCode
call ExitProcess
Так что разницы особо большой нету. Пусть человек юзает то, что привычнее.