The first thing I usually do is hit the auto-format button, because I am not a great fan of multiple instructions on one line, eg.
lcd.print(iFreq); lcd.print("Hz "); lcd.print(iSample); lcd.print(" "); lcd.print(iSample_Size);
or:
if (iSample_Size > 4000) iSample_Size = 4000;
Apart from those minor points the code looks fine to me.
The question is, does it work to your satisfaction? I don't have that LCD so I can't actually test it in operation.
I'm not sure you need to use the RTC to do the timings, after all the Arduino has built-in timers.