ImageFileName[] is useful to display images stored in existing files, so, yes you have to save them and then call FillFromDirectory (or set ImageFileName[] manually).
Of course you can still set ImageFileName inside OnAcquireBitmap:
procedure TForm1.ButtonClick(Sender: TObject);
begin
ImageEnMView1.MIO.OnAcquireBitmap := AcquireBitmap;
ImageEnMView1.MIO.SelectAcquireSource();
ImageEnMView1.MIO.Acquire();
end;
procedure TForm1.AcquireBitmap(Sender: TObject; ABitmap: TIEBitmap; var Handled: boolean);
var
idx:integer;
filename:string;
begin
idx := ImageEnMView1.AppendImage();
filename := Format('c:\page%d.jpg', [idx]);
ABitmap.Write(filename);
ImageEnMView1.ImageFileName[idx] := filename;
Handled := true;
end;