I think Eneurb is onto something there. I believe he is correct in that, an incorrect MAF reading could cause the computer to throw a TPS code. Basically the computer is seeing some inconsistency between the MAF data and the TPS data, doesn't know which one is at fault, so it blames one or the other (in your case, choosing to blame the TPS). However, in this case, it appears that the TPS is doing exactly what it should be doing.
I wouldn't jump out and buy an MAF. Lots of things can cause bad MAF data, not the least of which is air entering the engine from somewhere other than through the MAF. If I understood which hose you disconnected and plugged earlier, you removed the hose from the oil fill cap to the air intake tube (downstream of the MAF). I don't know about blow by gases, but if there were too much air coming through that hose (say from a leaking oil fill cap or a bad hose, maybe blow by gases if they are excessive), that would cause the MAF to read lower than actual. Some other vacuum leak could do the same thing. On EFI engines, vacuum leaks are a common cause of high idles, too.