Yes, binding a texture between glBegin() and glEnd() will generate a GL_INVALID_OPERATION error. As an aside, it's advisable to check for GL errors at least once per render. It can often give you clues as to why something's not working.

That way, as soon as you introduce a GL error, you will notice, since it will crash almost immediately. You'll know that you broke something since the last build. The again, it is advisable to check for GL errors often, since they can be hard to track down. (Not with the OpenGL Profiler in place, but do this anyway.)