When the Formula is created & executed in the UI there are not changes to the DB properties, but it is all done in the UI and perhaps saved in some client settings (Not sure about that one) However what you are doing in your script is actually changing a database property and a Reader can not do that. Probably of little help but there is a JavaScript JAVA method sessionAsSignerWithFullAccess that can get around this.
thisDB = sessionAsSignerWithFullAccess.getDatabase("","");
thisDB.openByReplicaID(serverName,repID);
var ACL:NotesACL = thisDB.getACL();
Now the thisDB object is opened with full rights, and the various DB properties can be modified even if the user has a lower ACL setting, but I'm not aware of a similar LS method.