It might be simpler to create a template course, make a backup, and then restore it from backup as a new course each time you need to start a new course. You then set a proper start date for this course and don't have to worry about having to remove any students and their data from the old course. This will also allow you to retain the old course for some time, making it simply hidden.
You may also want to look at the conditional activities forum. They allow you to set up sequences of activities based not on dates but on completing other activities. Basically the followup activities are locked until student meets the set criteria.