It takes a Remove Curse spell to remove Geas, and even then from a caster 2 levels higher than the caster of the Geas. It is reasonable to interpret Geas as a magical curse, and therefore exempt from being dispelled upon death.
Looking at it this way bridges the gap: Normal spells are dispelled upon the death of the character who has the spell effect on them, except for magical curses and for spells like Contigency (Most people I have talked to allow Contigency to take upon upon death as a trigger. Ex: If I die, then cast a Raise Dead [upon my corpse])
Charm Person is not a curse in my view, and would be dispelled upon death.
I do not like Geas that much, especially since I am playing a character that has been Geased for about 5 levels!
A side issue of Geas is whether the Geas ends if the caster of the Geas dies. If it does, that sure is a good way to get rid of the Geas (he he)
If you really want to get rid of Geas, then find a Bead of Karma (+4 Caster Level) and alignment permitting, cast Death Knell on some hapless captives. The +1 caster level stacks, because it is an unnamed bonus. With enough effort and captives, a determined individual can get enough caster levels to remove almost any Geas. I haven't had the chance to do this yet myself, but it would work.