Buonasera,
ti consiglio di controllare che la lista "originale", ricevuta come parametro della funzione, non venga sovrascritta in qualche passaggio del tuo programma. Potrebbe capitare che la sua identità venga modificata in seguito a qualche nuova assegnazione e che quindi il programma che sta chiamando la funzione non la riconosca come la stessa che aveva fornito come parametro, ma come una copia.
Spero di essere stato di aiuto :)