Hi Drew,
So indeed, a non-persistent (NP) entity is not stored in the database, it is only present in the client.
One way you could use your non-persistent entity list is to create a ‘container’ persistent or non-persistent entity, which you will associate your non-persistent entities with. You can use this container as your input to your flows and retrieve the necessary list items. (Although in your case, why not use the persistable entity directly, and just rollback all the changes when the user does not want to ‘save’ their changes?)
If I recall correctly, your NP objects will remain in your state as long as they are associated to a (persistable) object which is also still in your current state. Once this ‘container’ object is gone, and you don't have your NP object in your page, there is no way to retrieve your object anymore.
Non-persistent entities are excellent to be used for user interface purposes. For example if you want to show if something is selected or not.
By the way, a datagrid is always a database retrieve, hence you cannot retrieve NP entities in here, or associations to NP entities.
Hope this helps!