>It is worth noting that you can download a dataset to a local Jet database and process it there, or a SQL Server 2005, or there are various add-on products to avoid memory-resident datasets in dotNET. But still, an indexed persistent local cursor is sometimes hard to match. ;-)
SQL Everywhere should be included in your list. This could very well be the local storage engine of choice in the future.
-=Gary