I'm assuming you are talking about creating an unstored calculation on the child table that uses the Get(RecordOpenState)? Then yes; it's an easy way of identifying new and modified child records.
You may want to do it do for Get(ModifiedFields). When you are on the parent record and change an existing child record in a portal, those fields do not show up in the Get(ModifiedFields) call on the parent. But the unstored calc on the child will pick it up.
Be mindful though of the performance impact when asking for an unstored result on a large dataset.
Thank you Wim, it is exactly what i tried to say .
And thank you for this complement.
Also, true, i forgot to talk about performance that could be a problem since it use an unstored calc, particularly on a portal !