I created some merge actions with the limit result on the PK column of the destination table and it seemed to be working correctly, ignoring the exception values. I noticed an erroneous -1 entry on the table yesterday and realized that the reason it was added was because at one point when the element was restarting, the table was empty so I guess it added all of the groupedBy ID's to the table. Is there a way to avoid that? So that the limitResult set on an empty table is nothing so nothing is set until the driver sets the rows?
Although this is not a real solution to your problem, you might want to consider using a QAction to replace the logic, that way you have more control of what's happening. For example, you could trigger after startup and when the parent gets filled in and filter the exception values from there.