Walter, my advice is to look at Linq for SQL. Yes it's early days but if the promised in-memory datasets offer similar features to a VFP cursor, this is starting to look like a viable progression for VFP people. It lacks change tracking at an entity level, but if you keep to a 2-tier structure as offered by a RV, change tracking is there. I'm assuming you'd want to do multi-tier apps if you started over in NET but that's a discussion for another day. ;-)
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1