This almost sounds like a random data problem. We had a problem with random S0C4's and Storage Violations when using Xpediter on programs of ours that moved large variable length records. Here's why ours were so random:
With the latest release of Enterprise COBOL 3.4, the limit of working with fields greater than 16k bytes was lifted. The variable data we were using would only "break" Xpediter if the record being processed on THAT particular run through the code was over 16k bytes. Xpediter could only store the data lengths in a halfword area. They changed it to a full word and it resolved our problems.
Now with that in mind, Is it possible that the COBOL program could be trying to reference large records or fields like this, and perhaps trying to pass it to the ASM program?