1) I've done the same thing for the same problem.
It's also an easy way to detect missing samples, i.e. you expect a value every 1 hour, but the one at 23:00 yesterday is missing.
2) It's fast. My clients DB is 4 GB, and it just flies.
3) Joe Celko has an article about a calendar that is worth reading.
4) what are you doing about Day-Light-Saving ? Every year there are missing data in the spring, and extra data in the Autumn. I have no solid solution for this problem, yet.
Henrik Staun Poulsen