Despite Vincent’s suggestions, there is nothing wrong with your validate_save.

at this stage, you really need to use the global table buffer, and not the dd buffer anymore, as they might not be exactly in synch anymore.

they both should have the same rowId , but update procedure had been executed already, which might have done changes directly in the table buffer , which is not reflected back in the dd buffer.

so, you really need to dig further on why clearing the session affects this.
maybe you are clearing it too early, and the row is expected to be present at some other internal process from daw classes, to complete the synch,

DAW should be able to answer this easily than us. And if this is really the case, i guess a note inside the session methods in the help will help in the future.
“Hey don’t clear the session buffer here, it will be required later on as part of the synch process …”

something like this, in all relevant methods/events