Unfortunately there is no such mechanism in TXDataset. Each new select will simply clear the existing records (close and reopen the dataset) as with any (most?) of Delphi datasets.
You must create your own DataSet. For example, MemoryTable, GTT ...
I think In a remote system its important to have this functionally. I ve 20000 records on DB but i need to modify or insert only 10 ! my problem is that i must looking a record to server : if found i must get it otherwise insert without loosing old loaded records. If i use mem table its became very hard to modify or insert