La solución:
Código Delphi
[-]
var
RemoteFile, SaveLocalAs, CurrentDir : String;
begin
if FlatListView1.ItemIndex >= 0 then
begin
RemoteFile := CurrentDir + FlatListView1.Items[FlatListView1.ItemIndex].Caption;
SaveDialog1.FileName := FlatListView1.Items[FlatListView1.ItemIndex].Caption;
end
else
ShowMessage('No hay seleccionado ningún item!');
end;
He añadido unas línias que comprueban si hay items seleccionados en el ListView (if ... else ...) si no hay muestra un mensaje.