While the Behir can't directly target the caster, there's nothing stopping it from eating everything and every one else in sight including fellow party members, allies, random people on the street. While it might be funny the first time or two it eats the fighter while the caster demands the behir spit it out right now, the fighter may not agree. Besides, ignoring an order causes less than 30 points of damage on average and that's only once a day.
Maybe I just don't see Geas as some sort of super-long duration dominate. If it's going to starve to death because it's not getting enough to eat and you tell it to stop eating the fighter, that to me would be justification to end the spell (it's an activity or lack therein that will end in certain death). While it's charmed by the caster and follows whatever command it was given when the geas was cast, it still has free will. Even if the geas was "obey my every command", even a low intelligence creature would try to subvert those commands by being over literal.
It's totally up to you if you want to make it into a slave (it's too intelligent to be a pet), and it's not going to break the game if you do. I would just run it as a dull, hateful slave that snivels platitudes at the sorcerer while making sure that "accidents" happen to everyone else around her. Play up the duplicitous nature, the snakelike aspects and it's truly evil nature. This is a creature that enjoys eating sentient creatures alive, and is happiest when it can surprise and ambush. So lying, secretive, malevolent, not too bright, wants to always hide away in a dark corner or crawl on the ceiling.