#pragma once
позволяет компилятору полностью пропустить файл при его повторении - вместо того, чтобы анализировать файл, пока он не достигнет защиты #include.
Таким образом, семантика немного отличается, но они идентичны, если они используются так, как они предназначены.
Объединение обоих, вероятно, самый безопасный путь, так как в худшем случае (компилятор помечает неизвестные прагмы как фактические ошибки, а не просто предупреждения), вам просто нужно удалить сами # прагмы.
Когда вы ограничиваете свои платформы, скажем, "обычными компиляторами на рабочем столе", вы можете смело опускать защиту #include, но я тоже чувствую себя неловко по этому поводу.
OT: если у вас есть другие советы / опыт, которыми можно поделиться по ускорению сборок, мне было бы любопытно.