i see your point but have to disagree in case of -@var for tinyint
if implicit conversion to integer would be expected here, then for the same example the answer should be -4, not 252
when written as -1 * @var it properly does the implicit conversion and produces -4 (and is working on all versions like that). While -@var for tinyint is now producing the correct arithmetic overflow
the main point is, for any upgrade you can't rely on bugs in previous versions