I think your problem in integer division and thus rounding error.
This would do much better:
myProgressBar.Value = (100 * BAReturn.Length) /SizeOfData;
To be completely sure, you can even do this:
double percent = (100d * BAReturn.Length) /SizeOfData;
myProgressBar.Value = (int)System.Math.Round(percent);
—SA