Better error returning
I have just spent 4 days struggling with display lists and glbegin/glend block problems. If I had known that I was putting "dissallowed" commands in these blocks, then I wouldn't have wasted so much time on them.
Therefore I suggest that OpenGL returns an error when you put things like gltranslatef inside a glBegin/glEnd block. Either that or it allows it to be done inside the block.
Re: Better error returning
It gives an error already when that happens -- GL_INVALID_OPERATION.
You should _always_ be checking for GL errors when developing GL apps. glutReportErrors is your friend.