There would be nothing to gain in reinstalling PF3 nor rebuilding the database. PF3 only uses FSUIPC to gain weather information and it does so by providing the ICAO of the airport you require ATIS for. If, for whatever reason, that does not return any information (as in your case) it simply reverts to using Lat/Lon co-ordinates for the airport and thereby retrieving the data for the general area. That's it, we don't do anything different than we've doing for a very, very long time.
Personally I don't believe there is anything 'wrong' that can be 'fixed', either with PF3 or FSUIPC. The later simply retrieves the data from the SIM (as far as I know) and the SIM receives it from your weather program, which I assume injects it into the SIM. So my guess is if we can't obtain the data it's because it simply isn't available.
Here's an interesting snippet from the FSUIPC SDK:
1. The application generates a "signature", any 32-bit pseudo-random number. It will use this as its temporary access key into this area.
2. Each time it wants to read weather for a station, it writes the signature to the ulSignature field and the ICAO to the chICAO field, AT THE SAME TIME -- i.e. a write of 8 bytes altogether. If it wants to read the weather at a specific location instead, not at a station, then the ICAO code should be set instead to 4 spaces (" ") and the Latitude and Longitude fields should be written at the same time as the signature and this blank ICAO code. That makes a total of 28 bytes written (the dynamics and spare fields can be set zero. they are ignored).
3. If the area is free (signature is zero) or this signature is the same as the last one written, then this access works, and FSUIPC obtains the requested weather. If, however, the signature does not match and someone else is reading the weather here, this write will be discarded and nothing will be done. A program which wants to be cooperative can use a signature of zero -- this works providing it is zero already, but it doesn't stop any other program from reading whatever it likes. The program which is being so friendly must be prepared to see a different ICAO or location being read than the one it asked for -- the WeatherSet2 program does this. You can ask it to display any location or WX sttion, but it will display whatever any other program is reading too, or, rather, instead.
So, is it just a case of being unlucky or are you maybe using another program that's possibly reading the FSUIPC weather to?