А>Вопрос: Можно ли посчитав реальный FPS, задать его после записи последнего кадра и перед закрытим потока и файла?
Можно, только
1) вряд ли кадры пропущены с одинаковыми интервалами, видео будет дергаться.
2) не в курсе, как это сделать через функции AviFile,
3) у AviFile кажися были проблемы с записью файлов более 2 ГБ.
Как вариант, можно при записи орчередного кадра определять число пропущенных и писать столько пустых (нулевой длины) кадров. Тогда FPS менять не надо и играться будет нормально.