Ok, I see that the problem is related to the new "PP verifier"   As changelog said, every Pokémon that has not been healed since capture is flagged as illegal. I tried catching a few mons to verify and yes, every Pokémon that used a move during the fight is marked. However, in-game the PP count is always shown "full". Picking the Pokémon from the Box and then depositing it restore the PP count and PKHeX flagged the mon as legal.