OK I've found the issue is present only when using the SimConnect (or SimConnect + FSUIPC). I changed the interface option to FSUIPC and everything is working fine right now. 
Some test results:
Location: somewhere at the boundary between Peru and Bolivia, @ FL390
with SimConnect                         -22 deg C
with SimConnect + FSUIPC       -22 deg C
with FSUIPC                               -47 deg C
from NOAA weather chart          -52 to -53 deg C