Hi, my question is this: by default, does a scorm course keep track of time spent in it? Or is it a function that needs to be 'activated'?
All SCORM communication must be initiated by the content. The LMS, basically, launches the content and then waits for that content to tell it something.
So, in the case of time tracking, the bit of data that you're talking about is "cmi.core.session_time". The piece of content may elect to request or set this time, and the LMS is obligated to record it.
To your question, though... Do all pieces of content do this automatically? They do not. Should they? Absolutely. This is one of the first pieces of data that we make sure each piece of content we create deals with.
As an aside, some LMSs are smart enough to record the total time even if the content forgets to do so. This is in no way required by SCORM (Update: My bad. Modern versions of the standard do ask that an LMS track this as well.) , but it is a good practice for an LMS. Every SCORM Engine implementation does this without any intervention from the customer.