I haven't looked in detail at the code, but I couldn't work out why you want to add this, and that is probably the most important piece of information to decide how to best go about implementing it.
>From a cursory reading, you want to set a context property at a specific point in the engraver mechanics, is that right? Could you add a couple of situations where this is useful? The description of the feature sounds very interlinked with details of the engraving process, which makes it suspect as a user-level feature. If we write a description of this in the manual, how many people will there be that understand what the "end of time step" means? If this is intended for advanced usage, shouldn't we rather think of a way to expose this as a Scheme programming construct? I'm also a little worried that this is making change to central places (eg. global-context.cc), whereas I would expect a niche feature to only make changes to niches in the code base. https://codereview.appspot.com/581600043/