The brief
The 318i's aircon had gone weak and warm, there was a mouldy smell whenever it ran, and the owner had topped up the refrigerant twice in a few months and watched it disappear again each time. He brought it in. Refrigerant that keeps escaping plus a musty smell points at the cooling coil, the evaporator buried behind the dash. Refrigerant runs through it, cabin air blows over it and comes out cold, and the moisture that condenses on it is supposed to drain away outside. When the coil leaks it can't hold a charge, which is the warm air, and biofilm growing on a tired, damp coil is what gives the mouldy smell. Both trace back to that one part, and a leaking evaporator only leaks more.
The diagnosis
A pressure check showed the system undercharged with no leak visible under the bonnet, and a leak test traced it to the cooling coil behind the dash. The lines, the compressor and the condenser all checked clean. That's a coil replacement, not another recharge. Topping it up just buys a few weeks, so the coil had to come out, which on this car means going behind the dash.
The work
The remaining refrigerant was recovered, the dash dropped back far enough to open the HVAC box, and the failed cooling coil lifted out. The housing was cleaned of the biofilm causing the smell, and a new genuine BMW-spec coil went in with fresh seals. Then the dash was rebuilt, the system pulled down to a long, deep vacuum, and recharged with the correct weight of refrigerant. A check at the vents confirmed cold air at idle.
The outcome
Cold air at the vents at idle, strong airflow, no musty smell, and the charge holding. The 318i went home with the aircon working the way it should. A leaking evaporator is a big job because of where it sits, but it's a once-and-done one, and the housing clean while it was open means the cold air and the smell are both sorted.