I prefer to keep the $VERSION of all the packages synchronized with the version number of the distribution, even if there were no changes in some of the packages. I think it makes it easier to track things, because when someone reports a bug what I actually want is the distribution version. If they tell me "there is a bug in Foo::Bar 0.35", I know that I should test it together with Foo 0.35 and Foo::Baz 0.35 to have a better chance of reproducing the bug (it might not be in Foo::Bar after all, or it might be a bug in the interaction with the other modules). If I had several distributions all containing Foo::Bar 0.35, they would have to tell me the version of each module, which is more of a hassle.
The point is, users install distributions, not modules, because we distribute (surprise) distributions! Therefore what needs user-visible versioning is the distribution, not the module. I can have my own internal version number tracking per module if I want.