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.