The most commonly overlooked cause of engine overheating is timing. Before doing anything else, you should check your timing. An engine with too little base timing can overheat at idle, but run fine at speed. Too much vacuum advance, and you will overheat at speed, but not at idle. Missadjusted timing is easily fixed and costs little compaired to other cooling solutions, so check it first.