Since your sort cards are stored in the PDS, did something else turned to production the day the job abended?
Reason I am asking is because, if other jobs reading the same PDS, used DISP=OLD, locks "may be" issued. Again reason I say "may be" is because access is managed and control by Security. Theoritically your job would have to wait until other jobs released the lock or the system would have placed request in the queue. However, in any case, if such locking indeed had happened, you should be able to view warning messages in the JESMSGLG.
As far as research is concerned, I would start with searching proc library for any procs using the same PDS with DISP=OLD and then research to see if that same job was running at the same time, your sort job abended. If you do find a job running at the same time and using DISP=OLD, that is your answer.
Easy to check for the living/dead - just the date/time on the member. OK, easy if you have it.
What about a scheduled backup/reorg? If someone naughtily runs that as disp=shr, can get you that way. What else was on the system at the time? If "something" is updating the directory while your job is trying to read the same directory block, it would look like this.
If not something like that, then you get into "weirdness"...
OK. Gerry's idea seems to be the all-in-one-place possibility.
I think the DISP=OLD was a red-herring, as if DISP=OLD job is running, yours would have not got on, and vice-versa. DISP=SHR is another kettle... whoops, in deference to your Avatar, I won't complete that thought.
If you can't find anything, I suggest deletion of the whole topic, and no-one ever mention it again :-)