How do you know it isn't giving them the item? Try putting messages in your script for debugging like one after the additem function like "Item Added" then do a check if MyRef.getitemcount... "Ref has item". Posting the scripts at this point might be best so someone can see if there is something wrong in them.
it was an error on my part I think.
it seems to work fine now.
Thanks for the help, being able to store variables on the player and NPCs can be super powerful and using armor tokens appears to be a really good way to do it.