Detect Evil (and the rest of the detection spells) is bugged. In order to get it to work you have to travel from one area to another with the spell running. Opening and closing your inventory also works sometimes. Also, if you have a paladin and talk to the person, your paladin will usually have a line of dialogue that indicates they are evil. (But a lot of the time this only works if your paladin is the first person to ever talk to them.)