behavior of Screen object differs in Unity 3

Hi, anyone else having this problem? In Unity 2.x editor, the code below puts the texture in the middle of the screen ; whether you "maximize on play" the game window or not. This is the correct behavior. In Unity 3, the texture is correctly displayed only in the non-maximized view; when you switch to "maximize on play" the texture is at the top left quadrant of the screen. I also find that the Debug.Log messages show that Screen width and height are the same in both views.

var crosshairTexture : Texture2D;
var position : Rect;

function Awake()
{
    Debug.Log(Screen.width );
    Debug.Log(Screen.height );
position = Rect( ( Screen.width - crosshairTexture.width ) / 2, ( Screen.height - crosshairTexture.height ) / 2, crosshairTexture.width, crosshairTexture.height );

}

function OnGUI () {
   GUI.DrawTexture(position, crosshairTexture); 
}

Unity 3.0 has a bug where "maximize on play" returns incorrect values for the first couple of frames. So you have to avoid using it, or build in a delay that waits a few frames before using Screen.width/height.