Look at it this way and you can see it's consistent:
Yes, it is consistent - consistently wrong! :)
The problem with variables is that Blitz tries to optimize division by a power of 2, replacing it with a sign-preserving shift. This rounds the wrong direction for negative numbers.
That does explain it. TBH, I'm gob-smacked this bug exists ("-1 / 8 = -1" :O lol) - it could cause bugs that would be very hard to track down. Mark must have realized there'd be problems doing it this way with negative numbers. :/
No matter what you think about which way the rounding should go...
As far as I'm concerened, an integer division should simply throw away any remainder - whether it's +ve or -ve numbers involved. Blitz is supposed to appeal to novice programmers who have little understanding of what a compiler is doing under the hood. When encountering such a bug, they (and me) would just see the results as being plain wrong. We shouldn't have to take bugs like this on the chin and accept them, IMO. Silly.
[/end rant] :)