Kilian
Tha is correct, when the Ajax refresh the source record variable too? and this is the problem, this behaviour is undocumented, any undocumented behaviour that differs from standard programming behaviour are considered bugs.
Let me explain, when you build this same application in either ASP.NET or JSP and you do an Ajax refresh, it will only refresh the part of the screen and not the whole screen, variables you use in page_load or on_load event are only executed once on load.
I believe outsystems form source record is intended it to work this way, in fact outsystems help documentation explains this same behaviour "The Source Record variable is only copied once into the Form widget, after the screen Preparation finishes. Afterwards, when executing Screen Actions the values stored on the Source Record, will not be copied into the Form's implicit variable, ensuring the end-user input is never overwritten.
" Reference https://www.outsystems.com/help/servicestudio/9.0/Web_User_Interface/Form_Widget_Properties.htm
The Form/Editable variable should behave as described in outsystems documentation, it should load source record once and once only, even when you use Ajax refresh it should refresh the form UI elements only not the backend form/editable variable as well.
Without access to the platform source code, I can not see what is actually going on
But what I could see is Ajax refresh reloads the entire widget including the source record variable itself, I know it works like this and how to correct it, but it shouldnt work like this at all, it should copy the variable only once and not reload the variable on a ajax refresh.