I have a notion what is happening here. Class skills on races are not the same as class skills on a class. So, if you are giving a human a class skill, it only shows up as a class skills for racial hit dice, and not for class hit dice. It's still a class skill for a human, if the race was actually receiving racial HD, but it doesn't, since the first HD is always a class HD.
I struggled with this for a while myself, but not in the way you are. I don't have NPC classes in my gaming world, but I do have something I call 0-levels, which are humanoid NPCs without a racial HD and without a class HD. While working that out, I learned that skills on the race don't carry to skills on the class (as should be the case, according to the RAW). I'm assuming that you want the skill to always be a class skill on the human race regardless of class?
The trick to this, at least as far as I know, I've not actually tried it, is to make it a class skill for the Hero, not for the race or class or whatever. Try this out as a script on the human race.
@First (user) 10000
Code:
~ Make a skill a class skill for all classes.
perform hero.assign[ClassSkill.kKnowHist]