I admit I'm not too familiar with the 300D model, but I know that on my 300E that had the same problem, it was that the aux fan was not running while the A/C was on. It MUST run. without the additional cooling capacity of the aux fan, pressures on the high side get way high, and the refrigerant never cools significantly to get cool air out of the evaporator. Check your "ballast resistor" mine looked like a little beige rectangular block, trace the wire back from the fan and you should find it, mine is located on the drivers side fenderwell under the abs controller. Also the aux fan relay in the fuse box may be bad, but if the fan isn't running when the a/c is on, check the resistor first, then the relay. There is also a pressure switch on the receiver drier that activates the fan when the a/c is on. your mech should have checked for leaks, another one may do a better job. They should be able to put the ultraviolet die in and use a black light to pinpoint a leak.