I haven't played with charm spells much - and I don't know what live behavior should be...
But, You could take a look here for the get lost issue:
https://github.com/EQEmu/Server/blob...cket.cpp#L9957
And here for the death issue:
https://github.com/EQEmu/Server/blob...tack.cpp#L1367
(Remark out the first one..)
(Add pet pointer validity and pet-type checks, then the spell fade call from the 'get lost' code..)