The IAT is correct, the heat it picks up in the air duct is because the MAF absorbs engine compartment heat and the screen on the maf conducts the heat to the incoming air flow. Of course, I used to think it was because the heated sensor element transmits heat to the air (which it does) but the significant heat comes from the screen, and that is by design, it cools the MAF electronics that way (which is the poor part of it's design)
That's why using a remotely mounted IAT (HSRK anyone) only makes the computer think the temperature in the air duct is lower than it really is, and that's worse than letting the real temperature be known, because the IAT output will save your engine from pre-ignition detonation damage in really hot weather.
To get rid of heat soak, do two things: Relocate the MAF inside the air box and remove the screen.
I opted to simply relocate mine and leave the screen so that when I take it in for service, I put it back into stock configuration and they never know. I'd hate to have my warrantee voided by an ass at a dealer just because of a MAF change.