I am working on a course that uses SCORM 2004 3th edition, and i have this problem. For very small amount of the people that are using the course (around 1%-1.5%) the course dose not register completion in the LMS after they are finish it. I am checking the difference between a all working cases and this 1% that did not managed to complete the course, and the only difference that I see is the primary objective. In the working ones the primary objective have "Success Status" as "passed" and on the 1% it dose not even exist.
I tried to read in several places what is the primary objective and all i understood is that it is something that is defined in the imsmanifest.xml (in my case it is not), and if it is not there the LMS will create at least one for the course. If you set the 'cmi.success_status' to passed and the 'cmi.completion_status' to "completed" the LMS will set the primary objective to 'passed' as well.
So, my question is, did I understood this correctly, or it works in totally different way. What is exactly the primary objective and is it my responsibility to somehow set this or it is the LMS that is responsible for this.
After X amount of months it turns out that the LMS that the client is using (SABA) is buggy and it dose have problems with SCORM 2004 (they have exactly the same problem with other courses, that are not related to mine). So what fixed my problem was, converting the course to SCORM 1.2.