Having a command line all the time would solve this...
I am running a technical rehearsal and [GO] on cue 12. We are now in cue 12. When I want to modify channels 1-4 @ 50, the operator simply keys [edit live][1]thru][4][@][50][save][enter]. Done.
So I am sitting in cue 12 and now want to modify cue 100 live. The operator keys [memory][1][0][0][edit live]. Memory 100 is live in edit live while memory 12 remains in the fader. Saving or simply closing edit live memory 100 puts me back in memory 12 on stage since it remained in the fader. Memory 13 (or the next memory from 12) will be the next to play in the fader unless the operator were to key: [memory][1][0][0][enter]. That then selects memory 100 (as it had done before for edit live), making it next in the stack.
The problem of updating changes in other memories can be solved with "update in". Memory 12 is active in the playback, I decide I want channels 1-4 @50 - this is where the command line comes in - where now I should be able to say, "update in memory 12 and memory 100 thru 400 enter"... see?
This principal should work in both cue only and tracking modes of operation ... keeping in mind that cue only requires the operator to define track or not and tracking is the opposite, the operator defines cue only or not. Although, in the example above, say we were in tracking mode, would still be true as the update would be saved in those memories regardless of blocks or level changes. To say "update in memory 12 and memory 100 enter", while in tracking mode, would update 12 and 100 to track until change. "update in memory 12 cue only and memory 100 enter", would only affect the change in cue 12, but would track forward until change from memory 100.