Nick,
In the project I was working on, we store all date information in calendars using the calendar package. I think you might want to look into mapping calendar items to a project.
As has been discussed before the calendar package definitely needs work.