I also don't remember there being a way to get a list of all the versions for a piece of content. This made rollback difficult. Because you could only access through version label, you couldn't use a more sophisticated query to acquire a specific version. So if you have a site that is very large and is versioned constantly, this table could grow very fast. This prevents replication among other things.
Data integrity is maintained through some intermediate object layer.
Much of the Vignette object information is stored as blobs of data in Oracle fields. To access a particular piece of data directly, you have to parse it out yourself. Eventually, it seemed as though all we were using Vignette for was server side caching.