grazie a entrambi per l'aiuto, ma il problema non è risolto. 
poichè le funzioni da voi consigliate non presentano errori (in quanto testate e ritestate),  il problema ovviamente continua a essere nel mio codice.
per togliermi ogni dubbio ho creato questa pagina 
	Codice PHP:
	
<?php
 
echo "<a href=\"?file=poba.zzz\"> Clicca qua per salvare il file txt</a>";
if(isset($file)) force_download($file, "nomefile.txt");
function force_download($File, $OPZNomeFile)
  {
  $dim = filesize($File);
  // Posso forzare un nome diverso da per il file da inviare al browser
  if ($OPZNomeFile=="") $NomeFile = substr($File,strrpos($File,"/")+1,strlen($File));
  else $NomeFile = $OPZNomeFile;
  $estensione = strtolower(substr($NomeFile,strrpos($NomeFile,".")+1,strlen($File)));
  if ($estensione == "pdf") $apptype = "application/pdf";
  else if ($estensione == "zip") $apptype = "application";
  else $apptype = "application/force-download";
  // Forza il download via HTTP + APERTURA
  header("Content-Type: ".$apptype."; name=".$NomeFile);
  header("Content-Transfer-Encoding: binary");
  header("Content-Length: ".$dim);
  header("Content-Disposition: attachment; filename=".$NomeFile);
  header("Expires: 0");
  header("Cache-Control: no-cache, must-revalidate");
  header("Cache-Control: private");
  header("Pragma: public");
  readfile($File);
      exit(0);
  }
?>
 
ed ecco il risultato che ottengo nel file che viene scaricato
 
  
  
  
  
  
  
ovvero pare che salvi in un nuovo txt nel desktop prima il codice della pagina, e solo dopo il contenuto del file txt
 :master:  :master: 
voi che ci capite ? dove sta l'errore ?
PS: ho provato indistintamente le due funzioni, sia quella sopra postata, che l'altra da voi consigliata .. ottenendo sempre lo stesso identico risultato ...