There's nothing wrong with building drivers from within Visual Studio. But if you do this, do it right or don't do it at all.
The only way to properly build drivers from within the IDE is to use what Visual Studio calls an "external build procedure" to compile and link your drivers using the tools provided with the DDK. That means you run BUILD, just like you would from the command line, but directly from within Visual Studio. You get your browse files, you get your syntax completion, and you get a build environment that's supported.
It is either arrogance or unadulterated stupidity to attempt to recreate the DDK's build environment by setting up all the options, defines, and paths within your own Visual Studio project. Why would you do this, when you can do it as described above and get the same result correctly? Not only trying to define your own environment results in using the wrong compiler in XP, but you'll also use the wrong linker in Win2K. Also, note that defines, paths, and options actually can change from release to release of the DDK.
So, if you want to use the IDE, do it right or use BUILD.