it's annoying, but you can't rely on bugs...
another example is behavior of negative values of tinyint
valid values for tinyint are: 0 - 255
this used to be valid code and returned 252 (pre-15.7 SP130)
declare @var tinyint
select @var = 4
select -@var
but on recent 15.7 and 16.0 versions this command now correctly returns an arithmetic overflow
on lots of previous versions there were examples alike