If the cables are good and the battery has good charge, odds are it's the solenoid, especially so as it's been pointed out above that the solenoid engages the bendix. On an inertia bendix, jumping the two big lugs will spin the motor and engage the bendix, since yours only spins that makes sense. Should be an easy fix.
As for the stalling, first thing to check for is spark. Since you've had trouble with the ignition switch before, it should be the first thing to check if there is no spark. Not springing back from the start position would indicate that it's crudded up inside, if it can't be opened up for cleaning a new one is in order.
You said that you already have the starter off? Before pulling it it would have been good to run a good wire (14 ga. or so) from the battery to the terminal that the key switch goes to and see if that spun it up normally. If that would work, then your switch wasn't putting out full amperage to the starter and you wouldn't have to have pulled it.