Is the proposed import doing any updates of the parent records or just adding\updating child records?
Normally (i.e. in vanilla VFP) unless the logged-in users have exclusively opened or otherwise locked the parent records (which you say they won't) then I would be in broad terms:
* Pre-validating the import data to report on exceptions and arrive at a clean import set of records. * Upserting the child records wrapped in a transaction. * Repeat if applicable for parent records.
You say your application doesn't explicitly lock any tables (rlock(), flock() or automatic locks via BEGIN TRANSACTION) and if the OS does indeed do any sort of ultra-brief locking on file updates it's never caused me a problem.
So I would say the worst that will happen is that other users might see a 'record not available - please wait' message if they try and save a parentr record when you're still inside a transaction on whatever machine the import is running on. But assuming there aren't millions of records and you keep the transaction as quick as possible I doubt they'd ever even see that.