For Motorola cards, there's three pairing numbers: host, card and data. All three are needed for pairing. The host is hard coded on the TiVo main board like you said. Likewise the card number is hard coded on the card. The data number is dynamically generated though and stored on the drive. I never understood the need for 3 numbers since you'd think the host and card numbers would be good enough, but that's what CableLabs/Motorola came up with. Scientific Atlanta/Cisco cards only display the host and card numbers. I'm not sure if they lose pairing if the drive is swapped. I would think they wouldn't, since as you said those two numbers are static.