As stated in MSDN, #pragma comment(compiler) places the name and version number of the compiler in the object file (.obj). Further, this comment record is ignored by the linker.
So, it cannot be found in the exe/dll file, then it's not possible to retrieve it at run-time.
Alternatively, you can use _MSC_VER predefined macro to get the compiler version. For example, in the compiler from Visual C++ 6.0 _MSC_VER has a value of 1200, while in Visual C++ 2005, _MSC_VER is 1400.