It's been a long while, but since I never posted how I actually did this, I figure it might be a good time to do that. 
Here's the solution I came up with. Basically it runs a timer all the time for the PAL/CLR class and clears the Yaulp buffs (by ID) when those classes sit. It's probably not real efficient, but it does work.
In quests/global/global_player.pl
	Code:
	sub EVENT_ENTERZONE {
  if($class eq "Cleric" || $class eq "Paladin") {
    quest::settimer("yaulp",2);
  }
}
sub EVENT_TIMER {
  if ($timer eq "yaulp") {
    quest::stoptimer("yaulp");
    if ($client->IsSitting() && ($client->FindBuff(3186) || $client->FindBuff(2326) || $client->FindBuff(1534) || $client->FindBuff(210) || $client->FindBuff(44) || $client->FindBuff(43))) {
      $client->BuffFadeBySpellID(3186);
      $client->BuffFadeBySpellID(2326);
      $client->BuffFadeBySpellID(1534);
      $client->BuffFadeBySpellID(210);
      $client->BuffFadeBySpellID(44);
      $client->BuffFadeBySpellID(43);
    }
    quest::settimer("yaulp",1);
  }
}