After a few hours of digging I have a theory. I think it could be a rounding/calculation issue.
For context, in australia there is a 10% gst. An example failed record has amount due 0.00 but is not set to paid only where the fee is of a set of amounts - namely $375, $125 or $210
In the dt register session table - once the gst is removed and added back in for these particular amounts, the total to pay is slightly above the actual amount.
the relevant calculations can be seen in this example session data:
"customfee";d:340.91000000000002501110429875552654266357421875;s:3:"tax";d:34.09100000000000108002495835535228252410888671875;s:10:"currentfee";d:375.00100000000003319655661471188068389892578125;s:3:"fee";d:375.00100000000003319655661471188068389892578125;s:8:"paid_fee";d:375.00100000000003319655661471188068389892578125;s:14:"payment_method";N;s:9:"changefee";i:0;s:9:"cancelfee";i:0;s:8:"fieldfee";a:0:{}s:13:"paying_amount";s:6:"375.00";s:11:"paid_amount";s:6:"375.00";