I don't think the proble is due to newpage command.
I play with units :
this doesn't work
grid.newpage()
grid.lines(x,y, gp=gpar(col='red'),default.units = "npc")
But when I change the default units this work :
grid.newpage()
grid.lines(x,y, gp=gpar(col='red',alpha=0.4),default.units='naif')
Notice that that naif is used when you pass the functions a numeric vector without any associated units.