Hai ragione sul fatto che la backslash va messa doppia.
E hai ragione pure sul +1 che occorre dare alla posizione.

Pero` in un sistema non windows, il separatore e` la slash diritta, per cui il controllo va fatto su ambedue.

Riposto la mia funzione corretta:
codice:
function check_file(ff) {
  var fil = ff.NOMECAMPO.value;
  var pos = fil.lastIndexOf("/");
  if(pos<0) pos = fil.lastIndexOf("\\");
  fil = fil.substr(pos+1); // ora fil contiene il nome del file
  ...
  return (fil == 'NOMEFILE.EST');
}