Interesting that changing tramp-verbose avoids the problem. Sounds like that, in itself, might be a lead on the problem?
In any case, I do have a good workaround, which I'm sure you saw the reply, in the follow-up I sent just a moment ago to you and emacs-devel. For the sake of the bug transcript I'll repeat the substance of the message here:
I actually have a workaround, and the premise of it resides in the special conditions I included for the repeating the problem. In order to repeat the problem, you have to specifically use a default-directory that is set to the remote+sudo+homedir format, and not allow something like `(cd path)' to first resolve the home directory to an explicit path. So there's my workaround, for multishell - use `(cd path)', rather than directly setting default-directory.
Upshot is that I believe that there still is a bug worth unravelling [especially since it involves an aggravating and elusive "Selecting deleted buffer" event], in the way that shells start when default-directory is set to remote+sudo+homedir format, but I can avoid that by using `cd'.
Ken