Elimino le formazioni di squadre che non sono associate all'incontro in programma.
Mi spiego:
Incontro con id: 333 giocano contro le squadre con Id 1 ed id 2.
Quindi una formazione di una squadra con id 3 relativa all'incontro con id 333 non ha senso di esistere.
Se te la ritrovi è un refuso.
Questo è quello che avevi e quelle sono le formazioni cancellate.
Mi segui?
Allo stesso tempo eventuali formazioni delle squadra con id 1 e id 2 vengono lasciate inalterate ma... se quelle squadre sono dello scorso anno, matchano ugualmente il filtro e sono un "falso" positivo.
Mi spiego meglio.
Se per l'incontro con id: 333 e sq 1 vs 2, soltanto la squadra 1 ha inviato la formazione ma, per pura coincidenza esisteva la formazione di un squadra con id 2 per l'incontro 333 dello scorso anno.... ovviamente questa cosa non la posso intercettare.
Tutto chiaro?
Quindi verifica le formazioni che sono state inviate, se ce ne sono di errate intervieni a mano.
Oltre al problema della reinizializzazione.... mi viene in mente.... non è che hai cambiato qualcosa a livello di squadre.... che possano aver comportato modifiche di ID ?