I read this article on building a point in time architecture for your database. It looks to me as an elegant solution, but the article is allready from some time ago (2007).
I just skimmed the article, but it looks like the author's reinventing the bi-temporal database wheel. I'm not confident he did a good job of it, but I didn't read it closely.
Before you get too deep into this, take some time to skim Richard Snodgrass's old book Developing Time-Oriented Database Applications in SQL. It's available as a PDF from his web page.
I think MySQL's lack of support for CHECK constraints and peculiar implementation of GROUP BY will make his approach hard to implement. If you have freedom of choice, PostgreSQL might be a better platform for this.