I can't argue this point because my colleague doesn't believe it...
I would think your proof by example was good enough. On what grounds was it rejected? Here's a direct proof:
Let ADCn = (An*256 + Bn), where An and Bn are integers
Let SCALARn = Xn, where Xn is an integer
Ideally, the sum yields:
TRUNC(SUM(An*Xn) + SUM(Bn*Xn)/256)
Doing the divide before add changes this to: (assuming the MulDiv is done correctly)
SUM(An*Xn) + SUM(TRUNC(Bn*Xn/256))
Subtracting the two produces the difference between the two approaches:
TRUNC(SUM(Bn*Xn)/256) - SUM(TRUNC(Bn*Xn/256))
Let Bn*Xn = Cn*256 + Dn. The difference can now be expressed as
TRUNC(SUM(Cn) + SUM(Dn)/256) - (SUM(Cn) + SUM(TRUNC(Dn/256)))
since Dn < 256, then that reduces to
TRUNC(SUM(Dn)/256)
Since the largest Dn can be is 255, the maximum error is SUM(255)/256 = 255*16/256 = 15.