Aurelius dataset with lookup

You must be sure instances of TResidentAddress in both Lots and Addresses are the same.

In other words, your GetAll methods that return lots and addresses must come from the same manager, otherwise they will be different instances even though the ID is the same. 
That is my guess about what could be going wrong there, please confirm if that's the case, thanks.

Yes it's this.

Thanks for the answer :)