It is possible the problem is caused by the way some of the slides in that one module are configured. I have seen situations where a module was published to show 'completed' or 'passed' based on the number of slides viewed. At least in Articulate Storyline, a slide is not considered 'viewed' until the slide timing bar times out. In some slides the timing bar might be set for 10 or 15 seconds, when the content in the slide takes the viewer only 5 seconds to read. The user clicks 'Next' before the timing bar reaches the end, and the slide is considered 'not viewed'. This is just an example that demonstrates the complexities you can run into.
If you are using a score for completion are you certain that the module was published with the correct passing score, or that completion by score was correctly published?
Moodle has a SCORM debug tracing mode that might help you find the problem. There is a checkbox titled, 'Activate API debug and tracing (set the capture mask with apidebugmask)' at the bottom of the SCORM configuration screen: Site administration > Plugins > Activity modules > SCORM package. Select that checkbox and save the setting. When you open a SCORM module, a separate window will open where you can see the communication between your SCORM module and Moodle. Also note you can have this feature activated for specific users so it does not show for everyone. In the textbox below the debug checkbox, you can enter a username for which debugging can be activated, example for user myusername, you would type in myusername:.* the colon period asterisk sequence after the username is important.