Hello Arch,
I was able to go through the Write-Off Process in my GP for 2015, 2016 and 2018. During my testing, the end results are the same. The Credit Memo is created for 0.00 as you see. However, the Apply Amount is correct. This is consistent with all version of GP that i tested above.
During the Write-Off process, we do push the amount of the Write Off to the General Ledger. This apply record allows your modules to be in balance. Please see my testing below.
1. I started with a fresh company with no data to easily be able to verify my values on the report.
2. Posted an Invoice in Receivables.

3. Post the GL Entry for my Invoice.

4. Were currently in Balance.
5.Processed the Write Off Routine to Write-off the 1000.00 Invoice.
6. We see the Write off on the RM which brings our balance to 0.00.

7. After posting the GL batch from the Write Off.

8.Reviewed the GL Report and these are still in balance.
With my testing, the Write-Off routine is working correctly and would not cause your RM HATB and GL TB to not match.
I would check to make sure your Write-off GL Batches are getting posted. If these are all getting posted, be sure you are including any discount account on your reporting that might be getting over looked.
You can also use the Reconcile to GL Routine to help you locate differences between RM and GL. You can find more information on this tool using the link below.
866570 Information about differences when you reconcile General Ledger to Payables Management or to Receivables Management in Microsoft Dynamics GP.
http://support.microsoft.com/kb/866570/EN-US
If you still believe the RM Write-off Routine is causing the issue, please provide further details into a Write-off that is having an issue or create a support case to allow us to further dig into the issue.
Microsoft Support Engineer | Brandon Jarrett