From the sounds of it this is the same problem you were having before. Namely, the compiler you're using isn't configured for Unicode (or doesn't support it). On Windows, TurboActivate uses "wide strings" (UTF16: 2-bytes for each character) for all the string values. On all other platforms TurboActivate uses "char *" strings, and assumes the values being passed in are UTF8.
So, explicitly pass in wide strings to the TurboActivate functions on Windows. That is, for the compilers that are giving you troubles, instead of using the _T() macro, use the L"" definition to explicitly label the string as a wide string.
I.e. L"your GUID here" instead of _T("your GUID here").
When you recompile your app in the trouble compilers you'll likely get an error. This will help you track down the appropriate switches to pass to the compiler to support Unicode strings.
Does that make sense?
The shorter advice would be, if it's possible, to avoid g++ on Windows. The support is extremely poor and the executables are slower and bigger compared to VC++ or Intel compilers.