Actually, I don't think the manual restore is going to do much different than the Auto setting.
You're need to script against the values that control your objects for when the form is opened again. The values of checkboxes, etc., are maintained when re-opening a file but the events don't fire again.
So you can fix this quite often by copying the script that controls an object into the form:ready event of the same object. That way when the form is opened the event will fire.
For example if you have a checkbox that is controlling a subform's visibility (probably on the Change event):
if (this.rawValue==1){
subformA.presence="visible";
}
Also put that script in the form:ready event.
You can also put a script on the object being controlled to check the value of the object that is controlling it - if checkboxA==1 then I should be visible - that sort of thing.
Hope that makes sense!