So I understand what you are by-passing.... Are you forcing the starting solenoid on with +12V, or taking +12V directly to the starting motor with +12V directly from the battery to the starter? If direct, that is a boatload of current to jumper.
Build yourself a temporary test starting switch. Use standard lamp cord or an old extension cord long enough to reach from the engine to the companionway opening (or engine control panel). Cut off the plug and crimp on lugs that will fit on the starting switch side of the starting solenoid, and the other on the +12V supply side of the solenoid. Attach it to those points. At the other end mount a momentary contact switch. You should be able to manually engage the starter with this setup and effectively eliminate the wiring to the engine panel and switch as a possible source.
I have been basically just using a long handled insulated screw driver to jump the current from the solenoid directly to the starter - this has worked as an interim solution. I am going to test the battery cable idea first_I can simply use a jumper cable to do this and then I will try making a dummy switch (as you have suggested) and will try that second. Failing that I will try taking on the solenoid.
The part with the wiring that I can't figure out is why it works perfectly when cold, but not when hot. It's figuring out mysteries like these that better clarify why in the old days boats were often referred to as "she"_..