Have someone hold the ignition switch in the "start" position while you check the voltage applied to the "S" terminal of the solenoid. I'll bet you find it's way below battery violtage. The "start" position contacts in the ignition switch have to carry a heavy current as the pull-in winding of the solenoid operates, sometimes in excess of 50 amps, and it's not uncommon for those contacts to burn. Once the solenoid pulls itself in, the current drops to less than 10 amps as the pull-in winding is disabled and the "hold-in" coil takes over.
It takes a lot of magnetism to overcome the tension of the starter drive return spring and get the drive pinion gear pulled into position, so the pull-in winding draws a heavy current. It's also possible that you've got worn or dirty brushes in the starter, as the pull-in winding grounds itself through the brushes. Try tapping the starter housing with a hammer while the ignition switch is in the start position, and see if the solenoid kicks in. It's very seldom that I will change or repair only a solenoid, without rebuilding the rest of the starter.
Jerry