With the given scenario would that be something within the capabilities of ES?
From what I can tell, you are trying to do a conversion. So this would be a one time conversion, correct? Whenever we do this, and we use the ES extensively, we try to give ourselves the best chance of success...especially when FoxPro is in the formula!
The ES is going to compress the data better than any type of direct connection, no question there, but if you could get the VFP tables at the same location as the SQL, that would always be the best scenario. Otherwise, here is what you need to do in order to get speed. Instead of retrieving all records at once, if possible, bring back 1000 at a time, convert them, then save. This is a far safer approach with the VFP tables.
so that it will avoid a round trip to the server to get the AutoIncrement values, or would AutoInc's not be much of an issue because of the size of the tables?
if you are going from VFP to SQL, then the autoinc fields should just be part of your query to retrieve the records to convert. If you are going to use GUIDs from this point forward, then you are going to want to create a dictionary of the old and new PKs so that you can line up all of the records. This would just be part of your conversion program.
Is it common practice to use GUID's as ForeignKeys or do they usually only use GUID's for the parent tables and all child tables contain INT keys? INT's might cause issues for me, so that's why I'm asking.
If you are using GUIds as your PKs, then be consistent. Otherwise you have some GUIDs and some INT PKs which would be a mess. Go with one or the other. INT or BIGINT is always going to be easier (and smaller) to work with as a PK, but if you have the need for GUIDs, then use them for all PKs.