Everything still points to the battery -> engine earth strap being broken/corroded everything you've done so far pushes it further and further towards this diagnosis.
You just clearly don't want to believe it can be this simple.
Whilst that was probably the most likely cause about three pages of posts back, I'd say the OP has already done sufficient to rule it out in this case. That said, permanently wiring a second earth between engine block & chassis would definitively rule this out and also reduce the risk of any future earthing problems.
It's hard to diagnose a car from a keyboard, but I'll add my two cents worth, just in case it helps. Unfortunately I've no direct experience of the 500 starting system so I can only talk in terms of general principles.
1) IIRC the immobiliser only disables the ignition, not the starter motor - I once had an immobiliser failure on a 500 due to a bad key transponder and, from memory, the engine would turn normally but not fire; plus I got a yellow warning triangle. Personally I'd forget the immobiliser & look elsewhere.
2) That leaves the ignition switch, a first stage relay (if there is one), the starter solenoid (often built into the starter motor these days), or the starter motor itself. If any of these are stuck or broken, you'll get the symptoms the OP is describing. Listen carefully in the vicinity of the starter motor & you might be able to hear the click of the solenoid when the key is turned. Also you may be able to probe for a voltage in the relevant places if you have suitable test equipment and a second person to turn the key. If the main LT feed & return from the battery to the starter solenoid are sound, disconnecting the rest of the wiring from the starter assembly and applying +12V in the right place should also get the motor to spin normally - if you can find the right terminal and get access to it
.
3) Sticking solenoids used to be quite common forty years ago when they were generally located remotely from the starter motor; they sometimes had a button on them to enable you to manually activate the starter from inside the engine bay. (If your car didn't have one, you could even buy a gadget with a button on it that clipped between the battery & solenoid live feed so you could turn the engine on the starter with the ignition disabled from inside the engine bay).***
4) Worn or sticking brushes inside the starter motor will also give you similar symptoms.
I've not worked on the Mjet, but if it's possible to reasonably easily remove the starter motor & solenoid, I'd most likely do that next & bench test it. Fifty years ago, dismantling a starter motor to clean & regrease it, replacing the brushes & bearings when necessary would have been called routine maintenance. The general principles still hold good today, though you might find it hard to get any published information on the internals of the starter motor.
I had exactly this problem on a previous (non-Fiat) car and it turned out to be the brushes in the starter motor had worn out; replacing the brushes was all it took to fix it permanently and I was able to save myself the expense of a new starter motor. The local factor had a big cardboard box full of loose brushes; he invited me to "rummage around in there & if you can find anything useful you can have it for a quid". I found a set of copper brushes that were an exact match but with the wrong tags; five minutes with a soldering iron was all it took to transfer the old tags to the new brushes & that was another £200 saved
.
*** Amazingly you still can -
here is a modern version, though a tad expensive for what's basically a switch & two bits of wire.