While the controller may be at fault, MOST faults come down to a missing or erratic input to the controller, i.e. a bad connection or switch somewhere.
Re the wiring diagram, over the years components change, parts suppliers reduce stock held by quantity and type, combine functions, OPC's get added, safeties get added, but need to be fitted to existing wiring etc, no point in making a whole new harness if something else can be done etc., can't get that solenoid anymore but this new improved one will do the trick.
A LOT of solenoids have 2 coils, one pull in, to do the work, draws high current, is an intermittent duty coil, will burn out if continuously powered, and one hold in, just to hold the solenoid now it has been pulled in, draws low current, is continuous duty, won't burn out if continuously powered.
These are generally powered by 2 separate circuits, pull in by start key, OPC or similar, hold in by IGN or RUN position.
Back in the old days you may remember (or may not) stop solenoids were just that, they only STOPPED the engine, they needed to be powered to STOP the engine, they were single circuit, drew high power, would burn out if continually powered, they rusted up, wore out from vibration, stuck in place and wouldn't actuate when powered. But this was not a safe situation, if something failed, wiring rubbed thru, fuse blew, coil burnt out, the engine would not stop.
When a circuit is designed correctly with safety in mind, the circuit and control logic needs to be wired and controlled as "fail_safe", meaning if any of the above happened, then it actually shuts down. So if a wire breaks, a fuse blows, a switch fails, coil burns out, it shut downs, no matter what.
Therefore a change was made to "powered" solenoids to keep the engine running.
This can be achieved by the 2 circuit solenoid, however, they sometimes will burn out when having continuous cranking when you have run out of fuel, or when the key is held in start position when the starter motor doesn't work etc.
The addition of a built in switch in the pull in coil circuit within the solenoid coil circuit allows the pull in circuit to be powered, but won't burn the coil out. So this particular solenoid can be used with both wires powered together as in this circuit, or in another circuit on another engine with different controls and wiring running 2 separate circuits.
The wiring diagram posted does not show the internal switching of the pull in coil, but if you know how a dual circuit solenoid of a starter motor works you will understand the principle. Depending on the starter, some do it as noted above, some have the pull in coil energised through the windings and brushes to ground, as soon as the starter plunger pulls in and powers the motor, the pull in coil has positive on both ends of it's coil so no current flows and is effectively out of circuit.
The fact that when he originally powered the single pull in coil ALONE, and it operated like a machine gun shows it had a switch in the pull in circuit (or other design feature to limit/control current). Current limiting via separate resistor etc. can also be done, but it's up to each manufacturer/supplier as to how they control things.