We did the same thing previously, checking for the completion of the SCORM. Now that we have a course with multiple SCORMs, we're going to do it "right" by firing from course competion.
BTW I mentioned doing it in the cron script. Taking a second look, I think the right place would be:
public function mark_complete
I'm submitting a tracker issue to get feedback from Aaron Barnes, maintainer of the completion module, and other interested parties.
I'm kind of tempted to sprinkle events in a few places within completion - it's job is basically to track completion events, it seems, so it would be good if it raised events, I'm thinking.