I'm so, so sorry that guy was such an asshole.
I have to deal with people all the time that say "The computer is wrong. I paid that the last time I came. I never checked that book out." It's a tricky thing because you can't call them a liar, but in my experience, about 70% of them just don't remember correctly and really believe they're correct, 20% are correct and we did screw up, and 10% are coldhearted liars.
I try to say the most soothing things I can in those situations. "I'm sorry - would you happen to have the receipt still? How long ago was it? Well this was from this and this date," or "well, could you just check at home again? Did you return a bunch of books, and maybe this one was forgotten? You know, so many people find them under the seats in their cars...." etc. The more conversational and empathetic I get, the more likely I'm going to get cooperation.
I know that on a bus that needs to be on time, he can't chat you up like this, but still. No excuse for that. And it can be so embarrassing to cry in public...you poor thing.
I'm surprised you don't have a monthly pass though.