All the things that you mentioned do not make any difference.
There is only three ways that the starter can "hang" and keep cranking.
1. The ignition switch continues to power the starter solenoid terminal after release meaning bad switch or wrong terminal wiring. This is not a likely issue since yours intermittently works.
2. Ignition switch powers up the starter solenoid and the solenoid hangs up for some reason providing continuous power to the starter and keeps it running. Could be a candidate for your situation. I have seen this one alot.
3. When the starter solenoid energises, the contacts make and provide current to the starter thrusting windings which thrust the starter stator forward engaging the ring gear which simultaneously powers up the starter motor and cranks. The pinion is too tight, so the stator never releases from the ring gear and the power just keeps on coming to turn the starter. Another possiblilty, even tho this one usually only hangs on until the ring gear provides more clearances and finally lets go. Usually seconds of cranking is not a symptom....but could be?
There are no other scenerios that would cause the starter to hang other than obscure shorts across the starter wiring.
The timing, HEI hook up and battery condtion, all do not play into this.
ps....just a note on timing. Why do you have your timing so high, and at what rpm are u checking this? You should be looking at something like 12 to 14 static and limit the HEI vacuum advance to 10 degrees, or it will give you too much under light/part throttle and you will get pinging. Heis are known for too much VA. On hot days when you engine warms and is shut off, you may not be able to crank it after sitting due to the advance setting. Sorry for the sidebar.
ConceptOne Pulleys and Brackets
Techical forum/links at www.inccn.net/techforum.htm
[This message has been edited by HOTRODSRJ (edited 05-29-2002).]