I totally agree, since unsigned variables are possible in QB64.
QB4.5 didn't allow unsigned variables, so it was never an issue back in those days... (I'm just an old style SCREEN 0 type of programmer.)
That is a very good question...
It seems like it could cause occasional "unexpected results" depending on what the answer really is.
Back in QB4.5, I'm pretty sure that all internal functions like VAL(num$) would ALWAYS be interpreted as a SIGNED FLOAT.
QB45 didn't allow overflow, so it was never a possibility. If A * B was greater than the variable limit, you'd get Overflow Error on Line X and the program would terminate.
As for QB64, if My poor memory holds correct, I think our C undercode does a lot of function overloading in math operations. Integers return INT64 values. Floating point numbers return via FLOAT values.
If so, then the main value one would have to watch out for would be the SQR(&HFFFFFFFFFFFFFFFF), or two values that multiplied together equaled that value. (The highest value an INT64 can hold +1.)
Like I mentioned, the vast majority of the time, I think it'd be basically impossible to hit that value and glitch out. The only issue is, as a programmer, my personal experience over the years has taught me that IF there's a chance for something to glitch out, it WILL glitch out eventually.
And glitches like this -- that work hundreds or thousands of times with absolutely no problems whatsoever-- are the ones that are almost impossible to find. Your brain KNOWS it should work. Your eyes glaze over and instally rule out a simple A * B as the possible culprit. You go MAD just looking over the same 500,000 line program over and over and over -- and it's ALWAYS the ridiculously long and complex programs that generate these rare glitches -- until you feel like giving up coding and going back to farming...
So the best solution I've found to prevent these future headaches, for myself, is to just not fall into them to begin with. ;)