Well ItemUser is a component that usually sits next to your Inventory component on the character gameobject.
You just said your pistol is in the characters hand.
GetCachedComponent searches on the gameobject, not its children. You have to use GetComponentInChildren instead.