Ah, ho visto adesso che VS2008 produce eseguibili che hanno in qualche header PE l'apposito flag che dice al loader che l'immagine in questione è solo per Windows NT>=5; nulla ti impedisce di modificare questo header in modo che il loader carichi il tuo eseguibile, ma nessuno ti garantisce che poi funzioni correttamente.

Per inciso, io eviterei VC++ 6, è decisamente poco aderente allo standard; puoi ancora usare VC++ 2005 Express, o Code::Blocks abbinato al compilatore a riga di comando di VC++ 2003 o a MinGW.