I have had this exact same problem. I am 99% sure it is fuel related. Check your fuel pressure, my buddy was having this problem, he cleaned his IAC, replaced the starter, replaced the battery, ect. but the problem was still there. It turned out to be the fuel pump. Definitly check your fuel...