yep you're rght - the other memory databases I've been playing with are descended from the old RX memory table but TBufDataset is different.
I've been working on porting the JVCL TJvMemoryData component from the final version of the v2 series release (2.10) of the JVCL which was targeted at Delphi7 and below - as it seemed a better candidate for porting than the current version 3.40. I managed to get the old RX version running but there were reportedly issues with it (not sure what) so I've semi-abandonded that one on the basis that the JVCL one had fixed most of those bugs - sorting didn't work correctly I don't think & calculated fields didn't work at all - not sure what else didn't work.
I've got the JVCL one working but haven't had much chance to test it yet. I've added filtering and a streamed persistence mechanism (calculated fields work but not with persistence) so it's got the bits that I think are missing from the TMemDataset memory table which I needed and couldn't get to work properly at all (memo/blob support). I also managed to compile the extra expression parser bit from version 3 of the JVCL but it threw out too many errors when running and I've not had time to look at whether these were simple or complex to fix.
I also worked out persistence using XML (structure and data) but not sure how useful this is - I added it to try and find an easy way to change a persisted dataset structure that's been saved to a file (a streamed version has to be copied to a new structure and then saved again which worked but occasionally threw a fit on me wheras the XML file version can just be edited manually and reloaded). It works (certain fields aren't good for this - autoinc, calculated fields and not sure about lookup-fields - yet to test that bit) but have pulled it for the time being - might just make this an external function facility yet. I saw it that you might use it this way while developing but then finally port it to a streamed version (re-loading is much quicker) when the structure/data has been finalized. If people think this is a useful addition I might re-add it.
I was thinking about what other JVCL components could be ported (from the old 2.10 release anyway as it'll almost certainly be simpler than the latest version) - probably most of these don't make a lot of sense as they're either Windows only specific (or things like BDE) or equivalents have already been created.
If anyone has any existing issues with these "in memory" datasets I'd be interested in seeing if this version can fix these - just let me know what they are (ideally with some sample code to illustrate the problem) - I'll be testing the JVCL one on Linux/OSX tomorrow (hopefully) and then I'll upload it somewhere so people can try it instead (assuming my testing goes ok)