It's because jenny's variables get saved, but
ExternalDesc is a function for her, and so
it winds up getting set to 0 whenever she
is cloned. It's a fairly unusual situation. Most
npc's don't save state.
It'll be fixed in the next release. ExternalDesc in
/lib/events/look.c will be static.
Thanks for the heads up!
-Crat