Did the garage do a compression test?
As Andrew Harvey says it's possible the head gasket is failing.
You could maybe ask the garage to do a 'sniff test' with their CO probe at the hollow bolts in the cylinder head?
Any time I encounter an engine that doesn't run well with the ignition timing set correctly according to the marks, I check if the marks are actually correct. A screwdriver or similar inserted carefully down a plug hole and the engine turned by hand to bring the piston up to TDC should show the TDC marks aligned.
In the past, some Mechanics adjusted the engine timing and carb idle mixture 'by ear', especially if the car didn't seem to run well with 'standard settings. This isn't to be recommended but here's one way of doing it if you want to try it, at your own risk!
Seting Ign. timing :- With the engine warmed up, loosen the distributor clamp and slowly turn it to advance the ignition timing until the idle speed is highest, then slightly retard the timing and tighten the distributor clamp.
Setting idle mixture and speed :- With engine warmed up and ign. timing set as above, there are different techniques.
Sometimes a setting is given for the number of turns out of the idle mixture screw from a gently seated position e.g. 1 1/4 turns out, or a range of adjustment e.g. 1 1/4 - 1 1/2 turns out.
It's a good idea to remove and check this idle mixture screw carefully before adjusting it. Some Weber carbs use screws that have a very fine tip (almost like a needle, might not apply to 500 carbs) at it's end, not just a taper. Sometimes this tip get broken-off in the orifice (that's a hole to you and me, in carb. talk there's no holes only orifices!). Some of these screws use an 'o' ring to seal it, check it's present and intact.
Having set this mixture screw as per the recommended setting, I then continue backing the screw out to get the highest idle speed. Usually the engine will start to sound splashy or slightly missy. Then turn the screw back in until the engine runs smoothly.
Another way on Fiat engines is to screw the idle mixture screw in slowly until the engine starts to 'hunt' (lumpy running, rhythmical sound due to excessively 'rich' mixture) then back out the screw about 1/2 - 3/4 turn from this point.
Then adjust the idle speed screw ( this bears on the throttle linkage, so acts as stop) to give the correct idle speed. It might be necessary to do both adjustments again.
The car then needs to be road-tested. Check for engine 'pinking' on acceleration, particularly accelerating from low speed in a higher gear or climbing hills. This is a sort of tinkling sound and indicates that the ignition timing is too far advanced. (can also be caused by lots of other factors incl fuel knock-resistance). If present, retard ign. timing slightly and road test. I used to carry a spanner and screwdriver with me on road-test so that I could make a number of slight adjustments while on road-test.
Another thing- If the car seems to surge when cruising on a light throttle opening, the ignition timing is probably slightly too far advanced. YMMV.
OP - have you tried backing off the idle speed screw to lower idle speed. It should be possible to do so enough to cause the engine to stall.
OP - please bear in mind that an electronic ignition system won't cure a carb/fuel problem.
Imho, there's nothing wrong with a points type ign. system providing it correctly maintained. I always set the c/b points to no more than 0,4mm.
Iirc the official setting was 0.3 - 0.4mm?. Too large a points gap reduces the amount of time for coil saturation and can cause a weak spark at high rpm.
My suspicion?
It's a carb/fuel problem. Others have suggested various things to check.
The approach I'd take is :-
Check valve clearances, do a compression test (wet and dry), Rule out head gasket failing/failure. Check spark plugs while they're out, condition/colour. Set gaps to 25 thou. (0.6 - 0.7mm? iirc).
Check for an AIR LEAK!! especially around base of carb to manifold/head.
If on the other hand, plugs look sooty/wet etc, assuming car has been driven on the road not left idling on choke, I'd suspect possible carb. flooding. If there are signs of fuel having been leaking down the carb body = brownish stains), I'd suspect flooding. As 'the hobbler' says above, check float and check float valve needle and seat. It used to be common practice to replace these (they're a matched pair) if in doubt.Check float level.
Try the car. If no improvement, strip and clean carb.
If you remove the carb form the engine you can check the condition of any gaskets. As well as removing and cleaning all the jets and orifices (reminder, that's holes to you and me!), you need to ensure all passageways and drillings are clear.
If you were to read the official Weber carb manual or the individual carb type leaflets,you would see just how much work is required to properly clean and overhaul a carb.
There are e.g. air compensator drillings in the upper part of the carb that many people overlook. If you haven't got a compressed air supply, you can spray something like WD40 in each passageway/drilling and see where it comes out. Old mechanics, who smoked, would blow smoke into each drilling to check it was clear. But I'm rambling now, old people tend to do that!
The easiest way to check out this problem is probably substitution. Fit a known good carb. = problem solved, then it was the old carb at fault, if no change then problem is elsewhere.
However most of us don't have this luxury so have to work with what we have in front of us.
I, for one, wouldn't buy a new carb or convert to electronic ignition until I had pin-pointed the actual problem and tried to fix it.
Let us know how you get on,
Al.