I have a general tendency to drag ATL into just about every C++ project that I start, whether it is native or managed. The ATL macros are very useful, whether you are working in a COM project or a WTL project.
When I work in C++/CLI, this is the initial stdafx.h template file I use:
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
#pragma once
// This is a Windows XP SP2 specific program
#define WINVER 0x0502
#define _WIN32_WINNT 0x0502
#define _WIN32_IE 0x0700
#define _RICHEDIT_VER 0x0300
#define _ATL_MIXED
#ifndef _WIN32_DCOM
#define _WIN32_DCOM
#endif
#include <atlbase.h>
#include <atlstr.h>
#include <vcclr.h>
Generally, you should define the macro _ATL_MIXED when using ATL in mixed mode assemblies
I've also noticed that including ATL in my C++/CLI projects causes the assemblies to grow about 60K to 100K in size, depending on the templates you use in your project.