I think you will need this line when importing a bodyguard custom slave. Assassins have their bonus hard coded in combat.gd.
if person.effects.has('bodyguardeffect'): person.add_effect(globals.effectdict.bodyguardeffect, true)
I think I might skip out on the whole problems of slave origins/exits and make the custom images a renaming and reimaging feature. This way will be less fun but the player then self manages reappearance and similar issues. Slave renaming would be a good feature to add anyway as it is missing from the game (nicknames and amnesia potion aside). Custom characters occuring randomly in the game could be added as step two.