Here is a possible solution to the count needed for the number of records. I once had to do the same, importing from csv files, and knowing that the size of each record would occupy the same space (or approximately thereof), you could take the total file size and divide it by the approx record size to get the number of records. This figure could then be used for the progressbar without having to do any kind of low level read or double run. Not rocket science, but could work well enough.
Adam J Skowronski