The first sentence is a typical example of the word "ago" substituted with the word "before" in the reported speech: in the direct speech Jimmy asked: "who called you an hour ago?".
The second sentence could only make sense if the "call" which Jimmy was asking a woman about happened one hour before the very moment when Jimmy's question is being reported.
I mean, we need to suppose that there is a person who is reporting the question, which Jimmy asked a certain woman, to another person.
He is telling the person who is listening what Jimmy asked that woman, and that "the call", which Jimmy was referring to in his question, was made an hour before that moment, the moment when the reporting person is speaking.
So, in the second sentence, Jimmy's direct question may have been for instance: "Who called you half an hour ago?". I mean, Jimmy was obviously asking about a call that was made less than one hour before his question was reported.
Or rather, Jimmy's direct question may have been: "who called you?", without mentioning the time when the call was made.
1) "an hour before" in the first sentence means that the CALL happened "one hour before the moment when Jimmy was asking her";
2) "an hour ago" in the second sentence means that the CALL happened "one hour before the moment when Jimmy's question is being reported".