So I see the problem and I agree that the applying reader extension and saving then marks the file. Another option may be to do the action on a button. I would have the user fill in a field or fields assuming they are required. On pre-save you could write a script something like:
if(textfield1.rawValue != to null){
Button1.execEvent("click") // this would be a hidden button that would then perform your lock on the pre-save
}
its a bit more complex but could get you beyond your presave with reader extension issue.