If I understand your concerns correctly, DSO has a loop detection mechanism of itself, and it prevents DSO events to the originating form if not overridden.
The criteria would be whatever you want your records to be unique for, i.e. it depends on your application.
Using the push fields requires user login and in case of update write licenses on both servers.
_________________________
~soba