Good Day Martin,
An update on the problem with PRTPAY. I began reviewing the source code for the PRTPAY subprocedures, namely ~RTPAY.1. I should point out that the program version number is 1.41b and the procedure library version is 12 for those who are interested.
Because this seemed to be a discount calculation matter I reviewed the subroutine DISCOUNT in the ~RTPAY.1 subprocedure. At the bottom of the subroutine are two lines as follows:
@sub IBal%=IBal%-IDisc%
@sub IPaid%=IPaid%-IDisc%

I put an ! mark in front of the first line @sub IBal%=IBal%-IDisc% to remove it from the programming. I then ran further tests on using the Take Discounts function in PRTPAY and the running balance on the printed cheque stub was now correct and being calculated properly. I also ran tests not using the discount function and it seems to be functioning properly as well.

It would appear that removing that one line of code from the subroutine fixes the problem.
Perhaps if anyone else has had the same problem they can try to do the same fix.