As my Oracle and SQL Server DBA's have told me...Do not assume that
column positions will ever be correct. This is especially
good advice with INSERTS where assuming position will just flat out
get you in trouble eventually, especially if the table structure is
known to be dynamic (Simply adding a new column will void a
working positional insert).
In fact I believe SQL Server is guaranteed to NOT
be reliably accessible by column "position".
As far as these type of changes. It's not very often that
"labels" are changed on any real database system I've ever dealt with.
At least not after they've gone into Production, and not without notice
to the development teams using them.
Hopefully you are not at the mercy of someone modifying your
tables without the benefit of at least an informal "heads up".