If you set a city, and remove the check from "current" user, problem solved always checks for just the set town.
If you want to keep location up to date, the key is remove the HTC weather widget, and add it back, when its asking you for the size, the next thing it asks is to select the city. At this point you can tell it to stick to just one city. But, I prefer to use current location. Once you're setup, click on the widget, and hit menu, setup, now you can tell it to update automatically and the frequency, here is where you want it to check every hour or 30mins if your always on the move so it updates more frequently.
Mine actually always updates based on GPS location as I drive home (love it).
I was using the HTC weather widget, but i've since switched to the Ported NexusOne Genie Weather and News widget. basically the same, but it pulls data from weather channel. Same thing you get the choice to use location, or hard set one location.