What you're describing sounds more like a faulty secondary throttle position sensor. The way the SDTV system works is that the ECM tells the STVA to move, and then the sensor reports back a position. This is done basically by voltage. As it closes the voltage is low, and as it opens, the voltage rises. In some cases, the resistor system in the sensor gets shorted turning the wiper into a dual resistor system. When the sensor reaches/passes this point, the ECM interprets the signal as incorrect and thinks the STVA is moving erratically. Although C29 is the code for the sensor, the ECM is still seeing the sensor and the voltage from it. Because your problem happens at prestart and the secondaries sweep their entire range and then set that value in the ECM, it sees that hiccup. But, if you turn off and on, the secondaries are already open and it doesn't experience the bad spot in the sensor.
An easy and free way to prove this out is swap the primary and secondary throttle position sensors. On the 2004-2005, the sensors are the same part (just make sure not to confuse the connectors, primary is grey, secondary is black). Make sure you follow the procedures for installation. If you don't install them correctly, you can damage them. If your problem is resolved, buy a new sensor and replace the now primary sensor.