Does the VAO (glGenVertexArrays/glBindVertexArray/glDeleteVertexArrays)
store the enabled/disabled state for the Vertex Attributes (glEnableVertexAttribArray/glDisableVertexAttribArray)
or should I re-enable them every time?
I would expect the vertex attributes enabled states to be stored separately from the VAOs. The documentation ( http://www.opengl.org/sdk/docs/man/xhtml/glGenVertexArrays.xml ) doesn't mention any other parts of the state machine being modified.
Still though, if you're mixing your code with others' code in the project, it would be wise to re-enable the attributes on every frame, as other parts of the project might tweak your expected settings.