I've been looking at it closer and noticed that it looks like when a negative subdelay is used, the start time of the sub is not moved early enough (rather some fraction of what is requested), but the end time is moved the whole amount requested.