First, an IAC count of "00" does not necessarily mean that the IAC is bad. It does usually mean that your throttle plate is mis-adjusted. Basically, your car's idle speed is too high, and the ECU is trying to lower it by closing the IAC more, but the "00" means that the IAC is already fully closed. To fix this, follow the procedures in these links:
Here's how to do it without a scan tool...
http://www.gnttype.org/techarea/faq/IACreset.html
Here's how to do it with a scan tool (the prefered method)...
http://www.gnttype.org/techarea/faq/IACresetscan.html
I recommend doing the "without a scan tool" procedure first, since the first several steps of this procedure will resync the IAC to the ECU. Then go on to the "with scan tool" procedure.
The trick is repeatedly tweaking the throttle blade min. air screw and the TPS sensor until you get it right. A "perfect" setting is having the IAC at about 20-25 counts in Park at idle (engine fully warmed-up), while having the TPS sensor reading about 0.42 volts.
Try the above procedures before you spend the time and money on a new IAC. Good chance it will work well.
Now, regarding your knock problem - that is almost always due to something hitting somewhere it shouldn't. Some possibilities are worn engine mounts (usually causing the downpipe to hit something), something else in/on the engine rattling (valvetrain, belt-driven components, etc.) or the knock sensor itself being overtorqued (wouldn't check this until last resort - if it's still at the factory torque, good to leave it there). I can't imagine how the IAC counts being "00" at idle could cause part-throttle knock.
Good Luck,