regarding viewstate, if there is a line of code in any of your controls that sets Page.EnableViewstate = false; it will cause it to behave like 3.5 .NET and ViewStateMode settings will have no effect.
regarding ClientIdMode, it would be dangerous for me to make a global change to static it could break things. For the time being while we are still supporting 3.5 .NET I also cannot go sprinkling ClientIdMode properties on control declarations since the same files are used in 3.5 .NET. So myself I'm waiting until we drop support for 3.5 .NET before I start trying to change the way client ids are rendered.
However, that setting in Web.config should not prevent you from specifying ClientIdMode = static or predictable on your own custom controls.
Hope it helps,
Joe