I sure everyone is in favour of complete, trouble-free updates with a minimum of user-interaction. I don't think we're likely to get any closer to that goal—unless all the relevant issues are properly considered.
I wonder if a "unified" approach might be feasible. By that, I mean one update routine that adapts itself to whatever the circumstances. Based on what we've discussed so far, it might be naturally "silent" by deferring items needing user interaction to the end of the batch. It's unclear to me, however, how different error conditions can be properly identified and then handled in the most productive manner (i.e., abort batch, skip item, or defer and ask user at end?). Once the routine is in "interactive mode," should the user be asked (once an ambiguity or whatever has been resolved) whether to download now, queue download, skip, abort, etc.? Maybe there just needs to be one dialog at the end of the first pass. Something like, "x items cannot be processed without your input... Proceed, Quit, Bookmark and quit?"