You need to learn about variable scopes.

Inside of, you have defined a bunch of global variables. But the code you already have doesn't use the global variables - it uses the member variables of the MyApp object.

const sColor = "Red" ; // ::sColor
window MainWindow MyApp
const sColor = "Blue" ; // MyApp::sColor

print ( sColor ) ; //prints "Red"
print ( MyApp.sColor ) ; //prints "Blue"

Now, if you want the member variables of MyApp to get their values from the global variables, you have to write the frame that way. For example

const sColor = "Red" ;

window MainWin MyApp
const sColor = ::sColor ;
print ( ::sColor ) ; //prints "Red"
print ( MyApp.sColor ) ; // prints "Red"

So to answer your question, there is no restriction on any particular constants - all variables are defined in their own scope. You can get your code working again, the way you intend, but rewriting your declaration as...

window MainWin MyApp
// The following const are defined in ""

const sDir = ::sDir ;
const sCmdLine = ::sCmdLine ;
const sClasspath = ::sClasspath ;

Check the documentation for "scope" to get more information.

Mr Cluey