The first two are simple enough: it's been modded to 2**32. I concede the third is weird :-)
Yes, but you said if variable is a byte, result will be byte as well.
So 32 bits is limit after which we have to cast variables?
Btw, this was on Windows 11, compiled to both 64 and 32 bit, FPC 3.2.2.
I tried on a Debian with FPC 3.2.2 and 3.3.1 and it is the same.