Chris,
I brought up a similar topic before on this group, and you can see the discussion here:
I think in the end since I couldn't use an <iframe> and had no access to a database (cookies, etc...) I went and used sessionStorage. I stored a boolean variable that is set true or false depending on if the SCORM API has been already initialized. On page refresh, if it already is — checking sessionStorage variable — then using the Pipwerks' wrapper, I manually grabbed the handle and RunTimeAPI (scorm.API.getHandle()), and then set the connection manually to active (scorm.connection.isActive = true), and set version manually.
It ended up working for what I needed it for...but not sure if that was the best way. Just wanted to put in my two cents on the topic in case that helped any.