Each read sample is accompanied by its related 'sampleInfo' meta-data that includes the source_timestamp of the time the data was written. So assuming there is a sufficient notion of time (meaning some time-alignment) in your system, you can at least check the timestamps for correct order-based processing.
One of the basic assumptions of DDS was NOT to imply global-locking and/or transaction-like behavior in order to preserve the timeliness (reactivity, determinism) characteristics of the targeted loosely coupled systems.
I've been actively involved in designing/implementing/maintaining large-scale distributed combat-systems with DDS and where able to process information fine based upon the supported QoS of ordered-delivery based upon source-timestamps in combination with (sufficient) time-alignment in the system (for which 'simple' NTP is OK in large parts of the system dealing with user-interaction)
Maybe I'm still missing a good use-case w.r.t. your requirement. I don't remember this issue being raised in the OMG before.
(Dashes are the time line increasing toward right-hand side direction)
A sends message 'x' at some time. B processes the message and generates another message 'y'. The third participant, C, first receives the message y (which is caused by x) and then receives the message x.
Looking from C's perspective; How would C know that it did not yet receive the 'x', when 'y' is received? In the literature, the relation between x and y is called a "happens before" relationship and the problem is known as the causality error. (various algorithms cope with this problem, like 'vector time').
I don't see how source time-stamps (alone) are used in this problem. 'x' and 'y' are not required to be same instance or even same topic. If it were how long should I wait after on_data_available call in order to receive all updates and let them be sorted by DDS?
Correct me if I am wrong, but according to my limited knowledge on DDS, there is no way to solve this common problem without building some complicated mechanisms over DDS which could be far more easier if built into DDS.