My version works exactly the same.
Can you try this:
After you picked up a weapon and disabled the pickup.
You should be hearing the ammo pickup sound and the weapon will disappear and reappear when you go over the weapon again.
(+ not max ammo)
There are 3 pointers to the function Touch_Item_Auto and i only replace the last one (3).
1: This one is responsible for the 'Press [Use] to swap for ...' message.
2: No idea. I don't know how to trigger it. It might have something to do with picking up health.
3: Picks up the item.