I'm confused by the camera. Shouldn't the following code set the origin of layer as the centre of the camera, i.e. so the centre of the screen is on (0,0)?
[[self camera] setUpX:0 upY:1 upZ:0];
[[self camera] setCenterX:0 centerY:0 centerZ:0];
[[self camera] setEyeX:0 eyeY:0 eyeZ:2];
But what it seems to be doing as setting the bottom left of the view as the origin, so in landscape more the centre of the screen is actually (240, 160).
Easy enough to work around with a vector add, but is this (a) intended or (b) something else affecting the camera?