Had the same problem on a Chevy V-8 boat. It only
happened when the battery was somewhat low. I got real fast at disconnecting
the battery. New solenoid solved the problem.
If you can't fix the existing solenoid, I can suggest a
cheap Rube Goldberg fix. Put another solenoid in series with the
starter. Wire both coils in parallel. This will double the current
through your start switch, but the additional relay should stop the starter
from running on.
Good luck.
Bob Darrah