Any further help or theories on this would be greatly appreciated.
Is there a canonical command that will tell me if grub is in a consistent state or not?
I'm guessing it's worth running such a command (if it exists) at the point when preupgrade says "Reboot", and then at several points during the shutdown sequence to see what happens.
Stop me if this is obvious or has been tried already, but as I said I have two more systems to upgrade so it's worth experimenting a bit.