As it only happens when you shift gear have you checked the gear shift mechanism?
I'd suggest going over it feeling for free play. There should be virtually none.
Particularly have a look at where the cable connects to the gearbox
. The mounting hardware
should be quite solid and the cable should throw the gear shift lever on the gearbox
over its full throw.
If time is not pressing it may be worth disconnecting the cable from the lever and moving the the lever back and forward to see what the full throw is. Then reconnect and check that the cable is moving the lever over its full distance.
Gently moving the lever in and out and listening for any sound may also yield clues.
You'll need to get someone in the cockpit
to help you with this so do be careful not to get fingers or anything else caught up.
While doing this it may be possible to feel (by moving the inner part of the disconnected cable back and forward) if there is any free play in the cockpit
do need replacement from time to time.
My best guess is that the hydraulic or cone (or whatever) clutch
in your gearbox has worn unevenly and is not disengaging smoothly (They should be self adjusting). If this is the case and if you can adjust the linkage for maximum throw there is just a chance it may correct itself...