Reset the first_post_date when the event ends naturally, same as when it is stopped manually. Otherwise it's treated as preexisting configuration when the event is started the next year.
Force-posting the last puzzle now doesn't attempt to start the event afterward. Just something I came across while testing.