I just had exactly the same problem (cold air when starting, dies when hot), and found that it was a slipping compressor clutch. It would work for a while and then stop when it heated up. It's a metal to metal clutch, and it gets mighty hot if it slips. Mine finally quit altogether, but for a while it was hard to diagnose, because I'd check it cold and it would appear to be working. It was also deceptive because my aux fan had a cracked blade, and vibrated a good deal, so when the clutch failed it still sounded as if the compressor was working hard. In my case the problem was rust, and I have at least temporarily freed it up, though I think it's a little less than optimal. But at least it's working.
First thing to do is to check if there's voltage going to the clutch. If not, then you may have a relay or other problem in the system. If the clutch relay and the safety switch and all are working and sending voltage to the clutch, you can test further there. With the engine off, if you hot wire the clutch lead to battery positive, you should be able to feel the magnetism at the hub with a screwdriver. If it's magnetized, but not engaging, the clutch is bad. If it's not magnetizing, the coil is probably bad. Both can be replaced without opening up the AC system, but need some special tools.
If the clutch is rusty, you can free it up if you're careful where you hit, but don't bang on the round studs with rubber washers behind them. If you bend the heads down, it will prevent engagement.