Вы можете безопасно определить их, вопреки утверждениям других. Причина в том, что они просто макросы. Они влияют только на препроцессор между их определением и неопределенностью. В вашем случае это будет с самого начала в windows.h до последней строки windows.h. Если вам нужны дополнительные заголовки Windows, вы должны включить их после windows.h и до #undef. В вашем коде препроцессор просто оставит символы без изменений, как и предполагалось.
Комментарий о старом коде не имеет значения. Этот код будет находиться в отдельной библиотеке, скомпилированной независимо. Только во время соединения они будут подключены, когда макросы давно исчезли.