Yes, I realized that this ticket is closed, but I want to correct the info for future reference.
Playing with the compiler.cpath (via the qt4-mac Portfile), it looks like what was going on is:
(0) environment variable CPATH was being set in configure.env correctly. Yes, I know this is the not the correct way to do it, but that's the way the Portfile has worked for quite a while now; I'm just inheriting its behavior.
(1) compiler.cpath was not being set, and so defaults to "${prefix}/include" alone (without ""s).
(2) when creating the environment for the 'configure' stage, the compiler.cpath entirely overwrites whatever is in the configure.env's CPATH variable.
I don't know if the above is desirable behavior or not, but: Given that qt4-mac worked by setting the configure.env CPATH variable once upon a time, the above represents a change in Portfile interpretation that was (AFAICT, stealthily) detrimental to the qt4-mac port -- and might be to other ports as well.
Is it possible to modify whatever routine is tweaking the configure.env (or XX.env) between the 'pre-configure' and 'configure' stages (or 'pre-build' and 'build', etc), such that it either (1) merges the CPATH (or other variable, etc) from both the compiler.cpath (etc) and the configure.env; or (2) prints out a warning that the CPATH (etc) variable is being overwritten, and to use compiler.cpath (etc) instead? Either might be a tall order, but something needs to happen IMHO: stealthily overwriting will only add confusion to Portfile behavior.