I've had this problem with a speedo cable breaking, but on an old car not a Chevy truck.
The problem turned out to be that the porous bushing on the speedometer's input shaft had dried out. The input drive on the speedo would work for a while, then the input spindle would overheat and seize, breaking the cable. By the time I came to replace the cable, the spindle and bush had cooled down and become free again.
I could only see what the problem was when I stripped the speedo down and could see that the input shaft had become discoloured from overheating. I used sewing machine oil to lubricate the speedo input bush and the problem was solved.
Stuart.