One of the practices that I have implemented is to have versions of metadata existing as projects. For example, you could have a version of a project for every 6 mos. Duplicating projects can be a little tedious, but worthwhile.
Another option is to back up MD into an Access DB once a month or so. This should be in addition to the native DB backup strategies that you have (i.e. load MD to tape every night).
The above refers to project versions. If you are interested in implementing versioning as a reporting perspective, it is a different issue. Please specify exactly what you are looking to do and we can be of more help.
Chael