Ok, ho trovato un primo errore piuttosto grave:
fl_letto_ricevente <>2
Questa causa lettura sequenziale. Gli incici sono utili solo per paragoni di tipo =, non <>
Anziche' mettere fl_letto_ricevente <> 2 metti fl_letto_ricevente==1 or .. ==0 e ci mettera' molto meno