I would
guess that the 'puter is working on your altitude reading being 1013(.2) UNTIL TL and then QNH below, so it is technically getting 'wrong' information above TL? When it gets to TL it will look at the numbers and say 'doh' or whatever that is in 'puterspeak. Without a sophisticated algorithm to 'notice' that you do not have 1013 set or to 'compare' what you have set with the FMC QNH entry (which I don't imagine anyone bothered with), it has no way of knowing that what you have set is not 1013 or that 1013 is not the QNH.
I cannot think of any other reason. I was never sharp enough to notice, or more probably just doing my 3 x tables at the time/looking out of the window.