Hi Sal,
We had a similar situation come up, and ended up making a (we thought) minimal update to the SCORM module. We used the Events API and set up an "attempt_scored" event to trigger whenever an attempt was scored, completed, or passed. I've attached the unified diff.
Dan - any chance this could be worked into the core? We'd love to get our SCORM module back to compliance.
UPDATE: I also submitted to the Tracker here.