Problema risolto, avevo posto l'istruzione int CServer::mServer_iValue=0; in Server.h , mentre andava messa in Server.cpp.
Il programmino funziona e da il risultato cercato.
A questo punto se non chiedo troppo sarei curioso di sapere che titpi di problemi potrebbe dare una simile soluzione in un ambiente multithreading, e se sia possibile proteggere il codice con qualche tecnica da simili problemi.
Grazie a tutti