I have a 2002 Kia Rio that I bought new in the summer of 2002. It did not have cruise control so I got one installed by a third party. Then I moved to St. Louis from Seattle in winter of 2003. About 3 - 4 years later the speedometer would not move from zero when I first drove the car. This seemed to happen only on real cold days, and after driving around for 10 minutes or so, the speedometer would suddenly start working again. Kia convinced me that my third party cruise control was installed incorrectly and was causing the problem (despite the fact that it had worked perfectly for years). They disconnected the cruise thingy and the speedometer worked just fine.
Then a couple of years later the problem started again, but in all temperatures, not just when it was cold. A different Kia dealer found the problem and fixed it (but they didn’t tell me what they had done). Now just 3 months ago the problem started again, but then it appeared to be related to driving in the rain. I was on a 6 day trip to Seattle and it rained most of the time. As soon as I got back to dry Reno, the problem went away. But now the speedometer is always at zero. I don’t know if it will start up after driving for a while because I rarely drive in Reno for more than 15 - 20 minutes.