My answer? NEVER, well, ALMOST never.
I recently had a very interesting case where changing past data was required. Without going into to many details, the college decided to change all classes from a QUARTER credit system to a SEMESTER credit system. This change was able to be done with no issues EXCEPT for the student transcript details and GPA summaries. Those would have been either very complicated, or downright impossible to correct given that they are generated by a third party software.
Bottom line? We followed suit done by other colleges and changed our historic data so that everything was in semester credits, recording exactly what records were changed along with the original and corrected values. We then put a notation on ALL of our transcripts (bold in a red box) stating that we had made this change as a college and that earlier transcripts would reflect quarter credits instead of semester.
My goal is to avoid historic changes if at all possible. If not, make sure that every change is fully documented, preferably in a table inside the database, so that the change log stays with the database, for the life of the database.
David A. Sousa