Scripts for some reason recognize when people are in spell states but don't want to recognize the opposite. In BALDUR.BCS, if you put this check:
IF
CheckSpellState(Player1,PROTECTION_FROM_EVIL)
THEN
RESPONSE #1
Kill(Player1)
END
and give the player an item that puts him in this state, he will die. But this check does nothing:
IF
!CheckSpellState(Player1,PROTECTION_FROM_EVIL)
THEN
RESPONSE #1
Kill(Player1)
END