Interesting. And it does look OK; strange, but OK. Any chance of the Borland compiler resolving a name differently? Maybe the MS compiler thinks you have a name there that doesn't belong. Any ambiguous name possibilties?
That's standard C++, EssGeEich. It is assigning the value of Value1 to the variable in global scope ::Value1 and the variable Value in the first statement, and the second statment is assigning the value of MySetting to the variable in global scope ::Mysetting.