AFAIK the memtable and bufdataset are both memory tables, fixed and sdf are text based tables for text or csv files, if you have the delphi sdf table component it has ademo that shows what they do, the demo can be converted to lazarus so that you can run it, I suggest Torrys Pages for the download. As for the difference in locate and LocateEX I can't help as I only use the locate or Lookup functions, maybe someone else can update this post.
Regards
Dave