If you buy a complete S/H throttle body assembly off ebay like myself and Gusto did, I will guarantee that it will be cheaper than trying to find the real cause especially if you are paying a mechanic to do the work. And you will be riding your bike instead of tearing your hair out.
The 2011s sort of have a different ECU but they are really the same. They use an immobiliser but if you order a new ECU for your 07 you will get the latest ECU part no. The difference is only software.
I am surprised to hear that the two TPSs are different, I thought plenty of people have purchased this part off the later bikes.
A faulty TPS should be easily identified with an oscilloscope using the info supplied by Defaultgateway.
Gefr is convinced that every problem like this is the TPS but I am not of the same opinion.
You need to understand that the TPS idle reading is not only controlled by the setting which you adjust the TPS in relation to the throttle body. The position of the throttle shaft does not rest on a stopper, it is held in position by the idle control motor which theoretically can move infinitely and thus change the reading of the TPS. So if the idle stepper motor malfunctions or is given a bad signal from the ECU then the TPS reading will also change.
If Ive lost you this is the senario: you set the TPS voltage at .6V, you start the bike and it idles good, BUT somewhere in the wiring harness there is a plug connection that is bad and due to vibration the circuit to the idle stepper motor inherits a slight resistance and causes the voltage to the stepper motor to change. The stepper motor is directly connected to the throttle shaft which is directly connected to the TPS, so now you've got a different TPS reading and the idle revs go up or down. Did the TPS have any bearing on this??? I think not.
This is why these problems are so hard to diagnose, did the chicken come before the egg or was it the other way around?
Buy a second hand complete unit and go riding I say