Seguramente el background está en un div, cosa que tendrás que manipular exactamente como lo haces, con un z-index. Los navegadores más actuales no deben de tener mayor problema al leer este tipo de propiedades.
Respecto al problema de los pixeles, es probable que tengas problemas en otro tipo de navegadores, donde la imagen puede ser cortada a los 300px. La razón, creo yo, de que te ajuste automáticamente la imagen a los 300px es nuevamente la capacidad del navegador ya que como lo estas adaptando a un iphone4, el navegador tiene más capacidad de interpretar lo que estás haciendo. Los errores los encontrarás a la hora de vizualizarlo en otro equipo.
Y las medidas relativas sirven hacer más flexibles ciertos elementos. Las posiciones absolutas, no te dejan adaptar a diferentes resoluciones o navegadores. Es por eso que recomiendo responsive web design, aunque los em`s puedan parecer gorrozos al principio, es más bien falta de costumbre, es aprender algo nuevo. Mucho mas efectivo que los pixeles.