Here's the current behavior:
* Enchanting to-hit/to-dam:
- weapon/bow: yes
- ring/amulet: no
- armor part: no
* Disenchanting to-hit/to-dam:
- weapon/bow: yes
- ring/amulet: no
- armor part: yes
* Enchanting to-ac:
- weapon/bow: no
- ring/amulet: no
- armor part: yes
* Disenchanting to-ac:
- weapon/bow: yes
- ring/amulet: no
- armor part: yes
What seems incoherent here is the following:
* armor parts can lose to-hit/to-dam but can never get it back (ego gloves)
* armor parts can lose to-hit/to-dam, but not rings/amulets (amulets of weaponmastery...)
* weapons can lose to-ac but can never get it back (defenders, holy avengers...)
* weapons can lose to-ac, but not rings/amulets (rings of flame, amulets of the magi...)
I would suggest to limit disenchantment to innate bonuses: to-hit/to-dam for wielded objects, to-ac for worn items. This would fix the problem the easy way.