IMO single components should increase version numbers as needed, e.g. when a library with a new function is released through AmiUpdate.
A complete OS release (new version, new service pack / boing bag) should bump the version number of all components to the then highest common number.
Increasing only the revision number when a new function was added is bad practice.