Every SCORM type has a different API that provides communications from the SCO to Moodle.
The SCORM 1.2 API has passed ADL test suite many times ago but it may need some bug fix. I say this thing because during SCORM 2004 debugging I fixed some bugs that may be fixed also in 1.2.
SCORM 2004 introduces also an attribute call version usually equal to "1.0".
From Moodle 1.5 I decided to provide the datamodel definition as a multidimensional array and all the methods was rewritten to use the datamodel array to check Gen and Set calls.
That datamodel definition uses many regular expressions and one the main problems is to define the right regular expression for each datamodel element type.