Well I learnt something, though probably not what was intended.
Believe it or not, I never realised that identity columns are ignored if you could insert into a table using that syntax, ie not giving a column list. I've always coded such things as
insert into MyTable (mainvalue) values (-1)
on the assumption that otherwise it would give an error about fewer values than columns!