All the feedback you have gotten so far is good stuff. My addition to the comments is probably not as useful, but I have had the same problem (which doesn't mean the cause is the same). My cause was that the speedometer cable (which is metal shielded) made contact with one of the terminals on the ammeter causing a short. Unknowingly I had shifted the routing of the cable while doing some work underneath the dash. I know this is "off the wall," but check the speedometer cable for burn marks. Since you are looking at a variety of things, I thought I would just add my experience on what turned out to be an annoying but simple problem.