Sometimes the solenoid plunger can wear, with a noticeable taper or ring worn around it, or it may be rough due to sand or shot blasting. The solenoid may have a matching groove in it. Stick your finger down the bore and around, it should be straight all the way to the bottom. Both surfaces should be oil free and lubed with something like silicone lube or a dry moly type lube. The stop collar could be damaged or a shim may be missing around the shaft letting the drive go too far foreward or the splines in the drive and on the armature shaft may be warn and sloppy themselves. The splines should be oiled with LIGHT oil. Is the return spring around the solenoid plunger stiff enough? I hate to suggest it, but sometimes the main engine bearings can be worn just enough to allow the ring gear/flywheel to rest on, or bind against the drive. Good luck!