Understanding integer overflow
For the sake of argument let's assume I run the following attack with hashcat

hashcat64 -w 3 --restore-file-path=my.restore -o recovered.txt -m 2500 -a 3 --increment --increment-min=8 --increment-max=50 myrouter.hccapx ?a?a?a?a?a?a?a?a

When running the above, the attack starts as expected

If I execute the same command but change my min and max parameters to something like

hashcat64 -w 3 --restore-file-path=my.restore -o recovered.txt -m 2500 -a 3 --increment --increment-min=10 --increment-max=50 myrouter.hccapx ?a?a?a?a?a?a?a?a?a?a

I then recieve an integer overflow.

I guess my question is this, is hashcat only checking for integer overflow of the minimum length?  Instead of all possible lengths?  Is this by design and if so why?  Wouldn't I receive an error with the first attack once it hit's a length of 10 as well?
No, hashcat is checking the overflow for every length, not just the minimum one. But it's checking the overflow whenever a new attack starts internally. If you use increment, each password length unfolds to such a new attack.