This isn't my area of expertise, but I figure after 74 views and no answer, what have you or I got to lose?
Often this happens because Access cannot keep up with batch file processing. Maybe you terminate Access at the end but there's no way all the reports can print out before the termination is invoked. You didn't post much about the batch file code, so that's a big stab in the dark. If that's the case, then maybe move the closing of Access into the function rather than the bat file.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.