If I trace out the screen.width with my DroidX native browser, I first receive 320 as expected, but on subsequent reloads (without changing orientation) I receive 800... why
It is an Android bug. Sometimes when page first loads the window.screen.width and window.screen.height are wrong. You can try to make a timeout and then run your code.