Maybe I should quickly explain the concept, then you can define what's best for you.
TAureliusDataset is just a TDataset that instead of retrieving data from a database server, it retrieves data from objects. The objects (in memory) are the source of data for TAureliusDataset. Forget about the manager or saving/loading objects to the database. TAureliusDataset just looks for objects in memory. Thus, whatever way you provide data to it (using TList<>, or TCriteria, or ICriteriaCursor), the only difference it makes is how the dataset is going to retrieve the next record, when needed. Other than this, any source you use works the same way: the dataset is editing objects in memory, either in the TList<> you provided, or in an internal list it keeps when retrieving records using cursors. The current record is just the current object being edited. You can use Locate method, or bookmarks, for example, to search for a record associated with an object. When you Post a record, the dataset justs updates the object.
I guess maybe you can go on with this info? Note that the behavior is the same as regular dataset: if you run an SQL and open it with a dataset, if another user adds a record to the database, there is no way the dataset can "see" that record without calling a Refresh. Here is the same: if you add an object to the list, only way this object can be visible in the dataset is by doing a Refresh. Unless, of course, if you insert a record in the dataset and let the dataset create the object for you.