A friends 2000 Chevy 1/2 ton 4x4 had a cold start problem for a long time ,every winter once it went below 30 degrees the truck required a long cranking period,or several attempts to get it to start--once it did,it re-started immediately the rest of the day,until it sat long enough to be completely "cold"..
He replaced the fuel pump when a pressure test showed borderline low pressure (was original with well over 110K on it)--that helped NONE,neither did replacing the coolant temp sensor and some other parts..
What did finally fix it was a new wiring harness from the ignition switch to the main harness,located up under the steering colum..
A dealer tech advised him they had to replace a "lot" of them under a silent recall...
That was 3 years ago...
The truck was starting right up like it should until a few days ago--its doing the same thing as before again now,along with stalling while your driving along,and it takes several attempts at cranking to get it to start again--then it runs fine for awhile,ranging from no more issues that day,to it stalling again just a few miles away..
He is going to replace the ignition switch and that harness this time,the dealer tech advised him to do both at the same time--but he didn't feel like doing it at the time..
He was unsure if the ECM would have to be re-flashed if he put a new lock cylinder and key in the truck,so he's first going to put just the new switch and harness in,and see if that cures it..
Issues like these are why I'm so stubborn about getting anything thats not "old" to drive..