The way the event editor checks whether you have a particular weapon or armor equipped or not is defined as follows
result = (actor.weapons.include?($data_weapons[x]))
result = (actor.armors.include?($data_armors[x]))
A quick solution to this would be to simply change what it means for two weapons to be equal. That is, we re-define == to say that two instances are equal if they have the same template.
I am not sure if that would make sense though: two hand axes are definitely not the same thing.
A more proper way to check this would be to define a new method that explicitly compares the template ID's of two objects.