Give this a try. It worked for me when my 2004 silverado started doing the same thing on 8/28/07.
With the engine in park, turn the key and start the engine. Let it run for a few seconds and then turn it off. Each time you start the engine, you should see the speedometer do a slight reset by dropping the speed approx 5 mph. Mine was stuck at 60, but after turning the engine off and back on, it decreased by 5 mph each time until it reset to 0. Once it was back to 0, I then took it for a drive and the speedometer is still working correctly.
SPONSORED LINKS
Tuesday, August 28th, 2007 AT 9:04 PM