I found the article Where does Visual Studio look for C++ header files? to be a good start, but I have further questions. The general order that VS looks for include files are (1) local directory, (2) those specified with /I, and (3) those specified by the environment (INCLUDE env var or VC++ settings).
Q1. I think that the /X option turns off (3). Right? Or does it also turn off (1)?
Q2. If I have a nested include file (main.c includes inc1.h, which includes inc2.h), where the first included file is found in one of the /I folders, does VS look for the second included file starting in that same /I folder, or just the local folder of the original source file? VS2008 seems to be operating the first way, but I'd like to find it documented somewhere.