HALLELUJAH!!!!!
4 and a half hours later I have it working!
The only holdup with SaveLoadStatus is that is does not like transferring data between layouts. The internal SDK loadInstanceFromJSON check the layer, and kills the instance if it can't find the correct layer to put the instance in. This is unfortunately is always the case when you load instance data from a different layout than you use the data :s
Anyway I altered rexrainbow's SetStatus to overwrite the JSON data when loading, so the instance will be recreated *except* the layer info.
Acts.prototype.SetStatus = function (obj_type, status)
{
if (!obj_type)
return;
status = JSON.parse(status);
console.log("loading...", status);
//if (obj_type.sid != status["sid"]) //removed, protection against instanciating in different layers
var insts = obj_type.getCurrentSol().getObjects();
var i, cnt=insts.length;
for (i=0; i<cnt; i++){
status["w"]["l"] = insts[i].layer.sid //force loaded object into layer of containing instance
this._set_status(insts[i], status);
}
};
(It looked like in the code you knew this Rex but it did not work for my use case.)