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