mt19937 rng;
normal_distribution<> gauss;
variate_generator<mt19937&, normal_distribution<> > var(rng, gauss);
gauss is passed by value, and so var has a copy of it. This means that when you generate values with var, the state of gauss does not change.
cerr << gauss << endl; //dumps object internal state
The distribution() function of the variate_generator class returns a reference to the distribution being used. Try this instead:
cerr << var.distribution() << endl;
Then you should see the state changing; I did.