Key on engine off reads the same as engine on, so it sounds like some screwiness. Can you hold the pedal in the "dead spots" on the TPS?
I've not had a bad one to play around with, but since the data to the scanner is coming so "slow", I'd want to make sure that the values you are seeing aren't a result of the "refresh rate" of the data, if that makes sense.
Does it duplicate the bad readings as you ease off the throttle? Typically they are just that, bad SPOTS, so it should duplicate.
You say it stays in rich mode...you mean the O2 reads rich continously as you decel, or it is staying in power enrichment? Either way it sounds like the TPS is telling the ECM that the throttle is open more than it really is, which would be odd that your voltage readings aren't HIGH off of idle, instead of low.
At this point, regardless of what is doing what and why, it appears the TPS is bad, and no reason to try and diagnose other things if one component is known bad. I'd just make doubly sure TPS is bad. Sounds like it is, but never hurts to double or triple check.