Typical problem in this era trucks. I just replaced the stepper motor on the speedo on my '03 2500HD, it got notchy and then stuck at 25 (when stopped it read 25, then always 25 higher than actual). All the gauges use the exact same stepper motor that is soldered onto the back of the circuit board. It cost me $6 for a new motor of eBay and it's pretty easy to pull the cluster apart.
Any more info on pulling that cluster? My 03 Silverado speedo is flaky and I have been thinking about fixing it. Dealer wants a boatload of money to fix it.