Suppose you’re doing a 1st person environment? Is it best to do camera movement using the modelview matrix or projection. I set mine up to use projection, and although working fine for everything, doesn’t work well with sphere mapping. i.e. moving round the object (via rotation and translation on the projection matrix) doesn’t affect how the mapping is done. Should the projection matrix ONLY be used to hold the projection transformation?

Correct, you generally will need to set the projection matrix at the start and leave it alone (unless modifying FOV and such). Just transform the modelview matrix to transform the viewpoint.

You ahould ONLY use the projection matrix for projecting point on the screen.

Effects thats using the normal, like lightning and spheremapping, is performed after the modelview matrix, but BEFORE the projection matrix. This is why your spheremapping is going berserk when you put the movements in the projection matrix. Normals are transformed using the modelview matrix, but since all movements resides in the projection matrix, you will have incorrect normals when calculating the light or the spheremapping.