I own an '87 300TDT as well. I've been through the
a/c system for the same problems.
Here's a simple test. When the a/c stops cooling, pull
over, shut off the engine, and immediately restart the
car. Does the a/c now work? If restarting the car always
causes the a/c to cool, at least for a while, you have
a problem with the RPM comparison circuit.
Basically, the a/c control electronics compare the
speed of the a/c compressor to the engine. If there is
a substantial difference, it shuts off the a/c until the
car is restarted. This system is intended to protect the
single serpentine belt which also drives the water pump,
alternator, etc. It's intended to protect drivers who
would otherwise continue driving when the a/c compressor
seized, broke the belt, overheated (and destroyed) the
engine. Good in theory, a pain in the butt in practice.
A couple of common causes:
1) Is your plastic splash panel (below the engine) in
place? Splashing water on the serpentine belt will
cause enough slippage to trigger the cutout.
2) Excessive clutch gap on the compressor. If you have
more than about 50K miles on the a/c compressor it may
need the clutch gap adjusted. Commonly overlooked by even
experienced a/c shops. Specification is .50mm +-.15mm.
Brain dead simple to check.
3) Oil on the clutch material. Just degrease the clutch
using Simple Green, or your favorite degreaser.
4) Failed Klima relay. Mine went berserk after about 13
years. Cost about $85 from a mail order vendor.
5) Bad electrical connections from the compressor to the
Klima relay or from the engine speed sensor to the Klima
relay. Corrosion/dirt can accumulate after all these years
and cause the Klima relay to falsely trigger the cutout.