This includes: - Skip OB_RECALC_TIME tag from object duplicate operator not sure why it is needed: even if original object was animated, duplicating it will copy evaluated values. - Don't tag whole ID for update when updating it after relations rebuilt. Use the same trickery to detect whether animation is to be re-evaluated or not as is done for update flag=0. - Don't tag datablocks which are expanded for update of copy-on-write. - Avoid flush along relation from copy-on-write operation in action. This will not invalidate any pointers in the copied datablock since we don't reference anything in the action.