Technically one thing that you are trying to do is to recreate the event. From there to follow through the process(es) and identify where the problem occurs... Right now all the information that has been really gathered is that occasionally a purchase is made where two or more items are in the final sale where one of the items displays as being free... It is not known at what point in the process the "value" goes to zero, it is not known which product(s) cause it, it is not known if it happens at a certain time of day... Basically as said, know that a purchase is made with a problem presented.... Now trying to reproduce the problem (consistently) so that might be able to address it properly.

So, my suggestion for now is to try to track backwards to their first interaction with the store that led to either storing a cart until next login or to the purchase of the items that appear incorrect. Then do the same thing(s) that they did and see if you can reproduce the problem... See if there is anything abnormal happening along the way, if come to understand how/what is going on then, can figure out how to stop it from happening in the future...