True being -1 always made sense to me...
Ever since I saw it in an INI file...I forget which one, but this was a long while back...it was like...

DoTimes=5
;Set DoTimes to -1 to go forever.

Hm...And...It made sense...except.. you can't always do something an infinite number of times in VB though...but it still means "ON"...
0 means to do it none times, and that makes sense for boolean...and -1 does it infinite times...because their counter will never = -1 (it keeps adding)...I hope everyone follows.

I realize it doesnt follow other languages, but I think it makes sense.