Yes the name mangling is different between 32 and 64 bit. A reasonable article covering the exact formats can be found here. You can tell the major differences pretty quickly, however, by simply compiling to both targets and examining the resulting map files. From my experience they're almost identical (64bit adds a small datum, potentially changes others).
Simple sample: void foo();
32bit: ?foo@A@@QAEXXZ
64bit: ?foo@A@@QEAAXXZ
For non-mangled std call, the length suffix can be substantially different, depending on the parameter stack usage. The default 64-bit settings for VC++ do not prepend underscores nor does it encode length-suffixes. The following was compiled both 32/64bit configs with pure out-of-the-box settings:
extern "C" int _stdcall func2(int, int, char*);
32bit: _func2@12
64bit: func2
Not much point there, is there.
Completing the circuit, unmangled _cdecl, which does this:
extern "C" int _cdecl func2(int, int, char*);
32bit: _func2
64bit: func2
If it seems like they went out of their way to make you know what you're pulling-in or exporting-out, evidence suggests you're probably correct.