I've been having the same problem, however I think I have some sort of idea as to whats going on.
I think you guys generally have pretty nice computers, which are able to shoot out more than 60 frames per second. From my understanding your system actually runs smoother because its shooting out frames without any major restrictions. Its the same concept as to why model entities arent programmed to check visibility behind blocks or other entities. In theory it sounds that making a model invisible when its behind a bigger model would make the game run faster, but in reality may make the game run slower, due to the program checking to see every model's visibility to every other model in the tree.
So for the fps_max, I think the program actually has to slow down and show only the frames that are under 60, and discard the rest. I dont know if thats the correct idea, or maybe the GPU gurus can give you a better analysis of whats going on.
Personally I like being able to limit the max fps due to my poor coding and areas/situations where alot of polygons/transparent sprites are visible. despite the jump in SRV. For instance, if you bring your player on top of a mountain overlooking many many tree models and the FPS drops down to 30 from 60, I would make the fps_max to 30, to give a steady fps through the thick and thin of the level. Halo 1 i think had a max_fps of 30.