Might be a stupid question, but what were you going by to confirm the engine was overheating ? Just the OE gauge or were there secondary symptoms ? ( boilover etc. ) It seems that you have changed ( by your list ) everything except the temp sender/gauge and the exhaust system. A secondary means of temperature measurement may help shed some light. Any lean codes, or codes of any kind ? You may want to run an exhaust backpressure test as well.