What is causing this air-conditioning unit to cool on cold days?
Nice chart.  This looks like abnormally frequent triggering of the defrost cycle.  Typically this will occur if the unit is severely low on charge or when the outdoor thermostatic expansion valve (TEV) has failed and is restricting flow of refrigerant through the outdoor coil so severely that the coil freezes in an abnormally short period of time, triggering frequent defrost cycles.  You would have a similar problem if your outdoor coil was exceptionally dirty, but I assume you would have noticed that.

To positively diagnose this, a technician would connect a manifold to the service ports when the unit is heating, and verify that the subcooling of the refrigerant returning from the interior coil is at least 8 C to confirm the unit is not too low on charge.  If the charge is adequate, then check the saturated suction temperature (SST) and also the superheat of the vapor in the suction line returning to the compressor.  If the SST is much less than 6 C below ambient and the superheat in the line is much more than 11 C, then the outdoor TEV has likely failed in a closed position or become plugged.  Depending on the unit this may be a fairly major repair.  In a 29+ year old system it may not be worth it versus replacing the unit. 

EDIT:  Some defrost control boards have a manual setting that forces a defrost cycle at a programmed interval.  If you have one of these control boards, you should verify that it has not been set to force a defrost cycle every 30 minutes.  Also, someone should confirm that the "freeze-stat" that signals the defrost board when the outdoor coil needs defrosting has not become disconnected or damaged.  You can eliminate these by looking at the outdoor coil after the system has been heating for 15 minutes.  If it is covered with frost and really does need defrosting in that short a time, then this problem is not merely a control malfunction and is more likely a refrigerant charge / TEV problem.