Keep in mind this tractor has been sitting for 15 yearsAnd you still get sparks? There is a very small probability this is a solenoid issue. To make sure disconnect both leads from the solenoid and short the battery lead directly to the starter. If you get sparks(meaning a short to ground) then the starter for some reason is hung up.
Why did you have the battery side disconnected in the first place? that batt cable looks like it is poorly positioned relative to the starter terminal.
Your original test bypassed the solenoid so a logical conclusion is that the solenoid does not pay a part in this failure. However,, if the starer side of the solenoid is grounded internal to the solenoid then it could be an issue. That is why you want to isolate it from the test.