One of the most important aspects of measuring anything is to understand what is being measured and how the measuring device works. The iodine test indicates the interaction between iodine and the alpha-helices of amylose starch (amylose is the unbranched form of starch, and amylopectin is the branched form). This interaction causes an absorption of light resulting in a blue-black color. A negative iodine test indicates the absence of large amylose molecules, but it does not by default indicate the presence of fermentable sugars.
The second thing about the iodine test that often leads to confusion is that many people perform the test on the wort floating on top of the mash. The absence of starch in wort does not mean that there is no starch contained in the individual malt particles. To confirm the absence of starch in the mash particle, it is important to get some of the grain pieces and mash them up during the test. This will squeeze out any starch in the grain so that it can react with the iodine.
For the sake of discussion, I’ll assume you did not smash some grain and got a negative reaction with the liquid wort. In the mash profile you described you waited 45 minutes before doing the iodine test, and when you performed the test the mash was 140° F. Although alpha-amylase has an optimal temperature activity at 158° F, it is still active at cooler temperatures. This is no different than an ale yeast fermentation flying at 90° F but still moving at a good clip at 65° F. The rate of enzymatic reactions is dramatically affected by temperature, but the enzymes are active at temperatures below their optimum as long as their substrate — the substance that they act upon — is present.
Because the solubility of malt starch depends on temperature, only some of the malt starch dissolved early in the mash. More will be dissolved when the temperature is increased, especially if you used a coarsely ground malt. The starch that did dissolve may have been broken down by alpha-amylase at a lower temperature. Even if this did not occur, you may not have cooled your sample before performing the test. Adding iodine to a hot sample of amylose starch can lead to a false-negative result because the helical structure of amylose uncoils at elevated temperatures. The iodine test should always be performed on a room-temperature sample.
There is another possible explanation to the problem: your thermometer. One instrument I have learned to mistrust is the themometer, especially dial thermometers. Bi-metallic dial thermometers are notorious for being out of calibration. If you measure the temperature of boiling water and the temperature of a thick ice water slurry and don’t get 212° F (this will vary slightly with atmospheric pressure) and 32° F respectively, you’ve got a thermometer that’s out of calibration! Your 140° F rest may have been higher than you thought, allowing significant starch solubilization and degradation by alpha-amylase.
Hopefully one of these ideas is satisfactory to your quandary. On another note, take an iodine test on your last runnings. Most likely, you will discover starch! A traditional brewing practice used to combat this problem is to collect all the wort into the brew kettle prior to heating the wort to boiling. This practice takes advantage of the fact that alpha-amylase activity continues in the kettle (as long as you don’t heat it up). Any starch carried into the kettle with the last runnings can then be broken down prior to boiling.