The bug
When using a grindstone it always sets RepairCost:0
in the NBT of the item (except for books, see MC-148476), even though that is redundant because 0 is the default if no value is present.
Due to MC-129057, this prevents the recipe book from using such items (e.g. bow for dispenser recipe or fishing rod for carrot / fungus on a stick) because it does not ignore RepairCost:0
and therefore considers it custom NBT data, which should prevent using the item for recipes.
Reproduction steps
Put a bow in your mainhand and enchant it
/enchant @s minecraft:unbreaking
Put the bow in a grindstone and remove its enchantments
Try using the bow as part of the dispenser recipe by clicking on it in the recipe book
❌ It refuses to use the bowInspect the NBT data of the bow by putting it in your mainhand and running
/data get entity @s SelectedItem
❌ The NBT data of the bow contains
RepairCost:0
Linked issues
Comments

Yes of course, no problem!

The part about the recipe book not using items is MC-129057, but it is probably a bug that the grindstone leaves the "RepairCost: 0" NBT tag.
I have had this issue with crafting warped fungi on a stick in 20w17a; fishing rods that have been repaired using a grindstone cannot be used to craft one even if their durability is full.

In 1.16.1 and 20w29a.
Can confirm in 20w46a.

Can confirm in 1.17.1.

Can confirm in 1.18 Pre-release 1.
I have made some edits to your report, I hope this is alright for you.