I have a 2007 Ford F150 4x4 flexfuel truck. I also have a programer. Last summer had a P0301 come up, I have changed all spark plugs, coll packs, fuel injector and had a fuel injector cleaning done on the truck. Programer was set for high mileage, code comes on runs like crap. Changed programer to stock settings, which cleared out the code. A couple days later, code again.
The code came on again yesterday, went to dealership to run a diagnostic on it, tech stated the underlaying problem was actually the trucks online computer. He stated the 2007's if they were produced between a certain timeline there has been a notice out that the computer needed to be reset to a different factory settings. (the code is due to the truck running at idle for long periods of time)