That's because you're doing this:
Code:
setFullScreenMode(true);
height = getHeight();
This works on some devices, not on others. On many devices, setFullScreenMode() works by posting an event into the event queue. It won't have any effect until that event is processed. Because only one event can be processed at a time, if you call setFullScreenMode() while processing one event (such as startApp() or commandAction()), then the "full screen" event cannot be processed until that method returns. Therefore, getHeight() still returns the non-full-screen height, because the resize has not yet occurred.
Instead of calling getHeight() and getWidth(), use the sizeChanged() event to detect changes in the screen size. This will also help you if you need to detect other changes in size, such as a switch between portrait and landscape.
If you need MIDP-1.0 compatibility, detect the size in the paint() event.
Graham.