Hi Scott, we have implemented this for a client in a different way.
The course and activity tables have an additional field called "learning time". When a course or activity is edited, a value can be added that represents the time that the item "should" take. The use case is meeting required professional development hours, eg. "A learner must complete 8 hours of PD per month"
For example a particular SCORM activity might be worth 1 hour of learning time. The whole course is 1 day.
Then we use custom reports to show the effective time spent in courses, independent of the "real" time spent clicking around the browser.