As far as I know, ProcessBook won't do this for you. You'll need to write a little custom code but it shouldn't be too difficult.
Set a timer to run a snippet of code every minute or whatever amount of time you determine is necessary. Using the SDK, get the span of a point by using pt.PointAttributes.Item("span"). If this span is different, use the MultiState's DefineState method to update your multistate.