The fact that it idles perfect without ISCV plugged in, shows you the base idle is correct.
The FACT that the revs are raised to 2500 rpm shows you the iscv is WORKING.
The iscv is there to ONLY RAISE the revs, it cannot lower the revs.
Now you need to find out WHY the iscv is being told to do what it is doing.
My best guess would be the CTS, but you would have some seriously rich running problems if it was, so I would get CO looked at next, then if no joy, check all sensor values.
tabetha