Hola xcorpyon:
La forma de crear la imagen es correcta, pero para saber el tamaño, si bien tendría que servir offsetWidth/Height, las imagenes cuentan con los atributos width y height, pero si la imagen no ha llegado a cargarse esos atributos son indefinidos. Lo mejor que se puede hacer en estos casos es una precarga, para que esos valores se conozcan.
En las FAQs javascript hay un par de temas que hablan de ello.
Saludos