Is there activity on this customer in more than one currency? If a lot of the activity on this customer is in a non-functional currency, that could be your issue.
I'd add actions to the workflow to store the values for each amount in a workflow field so you can see what amounts it's using for the comparison. Then you can backtrack from there to figure out how it's calculating the numbers it's using.