Effects applied with a duration longer than 107374182 seconds simply fail for no reason. This is probably because translating it to ticks ends up just below the integer size limit, and an increase of one overflows and makes the value negative.
- /effect @a speed 107374182
→ It works
- /effect @a clear
- /effect @a speed 107374183
→ FOV briefly changes but the effect is not applied
Maximum effect duration should probably be 1000000 per Java Edition. But regardless of the chosen limit, all legal values should function properly.