GUILayout inconsistencies

I am working on a GUI that I cannot seem to get layed out in a consistent manner accross different resolutions and platforms.

Basically if I have the following code:

GUI.matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity,
                                       new Vector3(Screen.width/1680f, Screen.height/1050f, 1.0f));

GUIEscape guiEscape = Manager.GuiManager.EscapeMenu;
        GUILayout.BeginArea(new Rect((Screen.width /2.0f) - (guiEscape.Background.width / 2.0f),0,Screen.width,Screen.height),guiEscape.Background);
        GUILayout.EndArea();

The image lines up to the top center when testing the interface in the editor (where I want it) BUT only when "Maximize on Play" is selected. When I try and just test the interface in a non maximised editor window or in a build it places the image on the far left of the screen. Also when I do a build on my Mac instead of Windows the GUI layout changes completely as well.

There is obviously something I am overlooking here as I have also tried just using GUI instead of GUILayout with the same results. Is there a way to get a consistent display across all resolutions and platforms?

For anyone who encounters a similar issue I solved the issue by purchasing and using GUIX.

GUIX can be found here

It is a little sad though that Unity does not have a more friendly GUI system but this nice addin helped ease the pain as far as alignment issues are concerned.