[ ... ]
> [ ... ] ls of /dev/sd* and the devices have been remapped (any
> idea what would have caused that?), sdc is no longer sdc, it
> is now sda, the boot devices are now detected as sdb and sdc
> (2 mirrored physical disks, used to be sda and sdb).
A BIOS or OS upgrade or just about anything might change the
names of any device because there isn't any well defined
enumeration order for devices.
Therefore the only safe option is the same as used by XFS or MD:
to give a unique name/token, but to all storage volumes.
The most useful scheme would be to give unique names to container
volumes like hard drives and then position based letters/numbers
for partitions (because for partitions the ordering is well
defined), but no current GNU/Linux distro supports that.
Probably you should then investigate the 'LABEL=' and 'UUID='
options of '/etc/fstab'.
> How was the machine able to boot? [ ... ]
Depends a bit on which booter you have installed; for example
LILO nowadays uses MS-DOS volume IDs to identify hard drives.
GRUB does not, and therefore I have stopped using it, as the
frequent drive reordering that I suffer has made it almost
Also, the BIOS (used for booting) and Linux can and will number
drives in a different order, so the BIOS boot drive may well be
not '/dev/sda' or '/dev/hda'.