Ok, ours is simple ... we have several spots on the title block available for revision dates and the original issue date. We don't differentiate between the two types for our date program. What we do is determine first if there are any revision fields that should be updated, if there are, it updates the revision field and leaves the original issue date alone. If there are no revision dates, the issue date is updated to reflect the plot date.
You have a couple of items that you need to figure out how to automate.
Q. How do I tell if it is a revision or a first issue?
A. Search the drawing for any revision dates, if there are any, then it must be a revision, otherwise it "might" be the first revision.
Q. If it is the first revision how can I tell the difference?
A. If the Issue date is not current, then it must be a revision.
Q. If I find revision dates, how do I tell if it should be updated or another date added?
A. If the latest revision date is not the current date, then you should add an additional date and make it the current date.
Q. What happens if I plot the drawing today for review and it updates the date, but the plans are not being released until tomorrow?
A. Design a setting in your plotting routine that allows you to specify if a new date field should be added automatically or if the latest available date should be updated to reflect the current date. This way you could override the addition of a new date field if the date of the latest revision is not the current date.