This is a very common Fiat 500 issue and the symptom order you describe is the big clue:
Stop/Start unavailable → then engine management light → limp mode at sustained high speed.
On these cars that sequence almost always points to a charging/voltage control problem, not a random engine fault. At higher speeds the ECU monitors alternator output, battery condition and voltage stability very closely. If voltage goes out of range, the ECU disables stop/start first, then throws the EML and limits power.
The most common causes are:
Weak or incorrect battery (especially non-AGM)
Failing alternator/regulator
Poor engine or body ground
Battery current sensor (IBS) issue.
Quick checks:
Measure charging voltage at idle and at motorway speeds
Check battery age, type and state of charge
Inspect and clean main earth straps.
Restarting clears it temporarily because voltage stabilises again until sustained high load/speed brings the fault back.
Get it scanned with
Multiecuscan or dealer diagnostics and look specifically for voltage or charging-related faults, generic readers often miss them.