Подозреваю это потому что статические константы инициализируются еще до вызова main? А что делать с этим?
Подозрения правильные (без разницы статические константы или нет) - если объявлено что-то с инициализацией (не в теле функции) - это будет выполняться до main. Проблема в том что никто не гарантирует порядок инициализации, поэтому лучше написать тупее но надежнее, например
void InitGlobals( void )
{
static bool theGlobalsReady = false;
if (theGlobalsReady) return;
theGlobalsReady = true;
QTextCodec *cyrillicCodec = QTextCodec::codecForName("Windows-1251");
ClassName::TestString = tr("тест");
...
}