Recently I would like to start building a .dll maths library with Visual C++ Express 2010.
I would like to use the .dll as library reference for BOTH Excel VBA
You cannot use C++ to build a DLL file that exports COM types or C-style functions and have it work in both a 32-bit and 64-bit environment. DLL files are a kind of PE/COFF image, and PE only supports one ISA per file (compare to the Macintosh executable format which allows for multiple ISAs in the same image file). You have to recompile twice, one for x86, the other for x64. The only exception to this rule are .NET "AnyCPU" DLLs, but that's another story.
According to this comparison table, C++ Express 2010 does not include the x64 compiler, nor does it include the MFC and ATL libraries, though you can download these as part of the Windows SDK separately.
In response to your questions:
About #2, you don't need two sets of interfaces because C# can also use the __stdcall calling convention.