I've determined that it'll take someone more adept at the save system than me to unravel how to fix it, so I'm going to spend this afternoon coming up with a patch.
I'm thinking I'll be able to add a line in query_armour_ob(limb) to exclude and remove 0's from the return array. If that works, Death Knights should all be fixed after a reboot, and any future equipment-using pets should be safe from errant heartbeat problems.
I'll keep you posted.