In the end user application, is it fine to keep open a session to Magma?
Sure.
After closing a Magma session, what become a local object of the persisted object?
They remain in place. Where the in-memory object graph is truncated by proxies, a message agitating a proxy will cause it to re-open the session so the proxy can become the real object.
If one re-open a session can the remote object be 'automatically' updated from the local object in case it changed?
Not automatically. Updates to the repository can only be done via transactions.
With an open session, is it fine to read a persisted object outside of a commit:?
Absolutely. Other than getting the root, you don't ever really "read" an object, just send messages and proxies will be materialized.
Is commit: only to be used when you want to persist an object?
To persist an object, you must use commit.