Ok, i'm making progress. I am able to get all of the versions of a generic content item, but how can I compare the versions to check which one was the latest "published" item, because that is not always the previous version.
VersionManager oVersionMgr =
IList oItems = oVersionMgr.GetItems(oContentItem.ID, System.Globalization.CultureInfo.InvariantCulture);
// how can I tell which was the version that was most recently published?
As an example:
1) I create a content item.
2) Content item is approved - version 1.
3) I update the content item - version 2 is sent for approval.
4) Before an administrator has approved version 2, i update the content item to create version 3.
In this scenario I need to be able to get hold of version 1, but obviously programmatically I need to be able to check that version N was the most recently published item.