Tu problema es simple, eso nunca va a funcionar porque hay varias instancias de la DLL ejecutándose. Para ponerlo de otra manera, si vos ejecutas varias veces el mismo programa, esto no quiere decir que todos los programas vayan a tener los mismos valores en las mismas variables, se entiende?
Lo que querrás hacer es comunicar a tu programa de C# con tu DLL de C++, tal vez esto te sirva:
http://es.wikipedia.org/wiki/Comunic...entre_procesos.