GLM standardisation with quadratic terms I had understood that using linear transformations, such as centering and scaling, of predictor variables in GLMs does not affect the t/z-values, and thus nor the p-values (except for the intercept). Indeed, my experience indicates this is the case when only linear terms are in the model. 
test<-mvrnorm(500, mu=c(0,3), Sigma=matrix(c(1,0.05, 0.05,1), ncol=2))
# Create two randomly generated vectors with a correlation coefficient of 0.05
test<-cbind(test, scale(test[,2]), (test[,2]-min(test[,2]))/(max(test[,2])-min(test[,2])))
# Add vectors of mean-centering and s.d.-scaling, and min-max scaling, of the second variable
summary(lm(test[,1] ~ test[,2]))
summary(lm(test[,1] ~ test[,3])) # center on mean, scale by s.d.
summary(lm(test[,1] ~ test[,4])) # min-max scaling
# in all cases, everything is the same except the intercept term.

However, in models with quadratic terms, transformation affects the linear term.
summary(lm(test[,1] ~ test[,2] + I(test[,2]^2)))
summary(lm(test[,1] ~ test[,3] + I(test[,3]^2)))
summary(lm(test[,1] ~ test[,4] + I(test[,4]^2)))
# The overall F-statistic, R-squared etc. are identical, as is the t-value for the 
# quadratic term. However, the t-value for the linear term differs substantially,
# sometimes making the difference between p<0.05 or not.

The first part of my question is - what have I misunderstood about invariance of GLMs to linear transformation? Or am I just outright wrong about this?
Thank you.
 A: If you used orthogonal polynomials via poly() in the formula you'd get the desired/expected behaviour:
summary(lm(test[,1] ~ poly(test[,2], 2)))
summary(lm(test[,1] ~ poly(test[,3], 2)))
summary(lm(test[,1] ~ poly(test[,4], 2)))

All return
Call:
lm(formula = test[, 1] ~ poly(test[, 4], 2))
Residuals:
    Min      1Q  Median      3Q     Max
-2.7797 -0.6359 -0.0509  0.6567  2.8398
Coefficients:
                    Estimate Std. Error t value Pr(>|t|)                                     
(Intercept)         -0.07926    0.04459  -1.777   0.0761 .                                   
poly(test[, 4], 2)1  0.76549    0.99708   0.768   0.4430                                     
poly(test[, 4], 2)2 -0.42199    0.99708  -0.423   0.6723                                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1                               
Residual standard error: 0.9971 on 497 degrees of freedom                                    
Multiple R-squared:  0.001544,  Adjusted R-squared:  -0.002474                               
F-statistic: 0.3843 on 2 and 497 DF,  p-value: 0.6812

