I don't even think that matters. If an object changes it's datasession via SET DATASESSION, other objects or a form isn't affected at all. They all live in their own session. Or do you experience any problems with two forms each non modal and each with their own private datasession?
You might cause problems when changing the session of a form or of objects belonging to a form (added by AddObject), but changing goApp's session will not cause any trouble. In that respect all works as for the session class, when code runs in a class it works in it's active session. That's why instead of a session ID parameter of some methods a general setDatasession() method is also a good way to set the session and then run any method in that session, eg.
goApp.setDatasession(set("datasession"))
goApp.oData.getSomeData()...
goApp.resetDatasession()
Bye, Olaf.