get data from edit method in form extension
When you say "the value", do you mean cemSkipNonEmptyDates variable in PriceDiscAdmSearch form? If so, we can completely ignore PriceDiscAdmSearch class. It's expected that skipNonEmptytoDates is always false if you never set it to true.
In PriceDiscAdmSearch form, was the value ever set to true? Debug cemSkipNonemptyDates() to verify that it's called and it sets cemSkipNonEmptyDates to true. If it does, the value must be changed back to false by some other code.
Also, please tell us more about what you mean by "seems to run multiple times". Are you saying that closeOK() is called multiple times? That sounds strange. Again, the debugger can tell you more about what happened - watch out for the stack trace to understand where the method was called from.