I agree with nick, but you said you checked. So have you checked for stored codes even though you don't have a CEL at the moment. TPS could be the problem, if you disconnect it it should idle, simple check.
I dicked up brandy's MAF sensor a while back installing a CAI. it would not hold an idle and if no signal is received it defaults to full rich, but not a rich as you are describing.
unfortunately you likely have the most mechanical knowledge here.