That's sort of one of the reasons I suggested trying the key on, off, back on then crank to start. I faintly recall that being a non official recommended way to have to start some engines back in and around the 90's.
I have tried that too, thinking fuel pressure has bled down and the fuel pump cycles would fix it. Makes no difference.
Here's my theory:
I always figured the fuel injection mapping bottoms out at around 40 degrees F and it just runs too lean below that until there's a little heat built up. After it stalls, it always takes a few seconds of cranking to start again; I assume that the injectors are firing during that time and the fuel is condensing on the intake and head until it reaches the saturation point and starts to evaporate enough to sustain combustion. At the same time, I figure the ECU has been slowly opening up the IAC so that when it does fire up, it goes to a very high idle (but not 3000 RPM) and the velocity of the high RPM airflow absorbs all the condensed fuel, keeping it running. The ECU senses the high RPM and closes the IAC (which happens slowly, I've tested it with my scan tool and it's physically impossible for the IAC to operate quickly) and the engine speed drops. At the same time, the excess fuel is used up/the slower air can't absorb it, and the engine sputters and dies. After this happens 6 to 8 times, the engine has warmed enough to prevent the fuel form condensing on the intake and cylinder head and it runs fine.
If the OP happens to live near southern New Hampshire, I'd be happy to scan the motor with my Tech Mate scan tool.