Sounds like the engine coolant temp sensor could be bad. There is also a heat riser coming off the passenger exhaust manifold. They go bad and only allow hot air to enter the intake. Either one could cause it run good cold but bad hot.
Using an ohm meter, read the resistance across the engine coolant temp sensor (intake manifold near the tstat) with the engine cold. Then get a reading with it is warm and post the results.
The valve for the heat riser is in the air cleaner so you need to take it off and look at the valve. When the engine is warm, it should close allowing cool air to enter the intake.
//2000CAYukon