it sounds like APEX is working as intended.
As a Process, the execution location is in the wrong spot for your requirements.
You are updating 'server side' information that is normally sent to the web client during the 'Region' execution part of web page creation.
But, you are updating the 'server side information' AFTER the 'Region' section. As such, the value is never sent to the web client.
If you want to keep it as a Process, you'll need to move it to the same execution location as the "Automatic Row Fetch" but with a higher Sequence.
That location is usually "On Load - Before/After Header".
If this doesn't answer your question, please set up an example on apex.oracle.com so that others can take a look at it.
Make sure you create a Developer account so that you don't have to give out your email address to the spam-bots.