Смотрим рисунок:
Итак, точка остановки реализована на уровне аппаратного обеспечения. Для ликвидации зависимости от аппаратуры есть библиотека CRT. CRT может использовать, а может и нет. Если CRT используется, то программная точка остановки вызывается из нее _CrtDbgBreak. Если не используется, то все зависит от флагов сборки проекта. Если необходима совместимость с WIN32 и MFC, то используется функция DebugBreak, в противном случае может использоваться непосредственно аппаратное прерывание. На вопрос, зачем в WIN32 API есть своя функция прерывания ответ простой, Windows работает не только на процессорах X86.