Thanks for the suggestion, you did help because as I was looking at the conditions (to see if I made the mistake you suggested) I FINALLY saw the real problem.
if you use GetActorValue This will work as a prerequisite to reward the perk however it will not show up in the game as a requirement.
You must use getBASEActorValue instead!
Strange - how many years I have been working with perks and did not realize that kind of mistake could happen. But I have seen other modders post in other threads about perks and they also posted they were using GetActorValue (instead of GetBaseActorValue) so I am suprised that is not more often an issue for discussion.