I would try to check the timing by advancing it to the point where it pings when you go drive it or fights the starter during cranking, then read it with a timing light and see what the pointer shows. It sounds like you may have a timing pointer or balancer inaccuracy and your timing is actually drastically retarded; that's usually what causes the engine run on due to the open throttle blades required with the retarded condition. Often when the ignition timing is more than 10 degrees retarded you will also notice the radiator throwing off an unusual amount of heat, if it is not actually overheating.
The anti-dieseling solenoid was used by the oems starting in the 70s as a result of retarded timing used to reduce emissions. Initial timing at zero or even a few degrees atdc required more throttle opening at idle, which in turn caused run on at hot shut-off.. hope this helps