When extending System.Configuration.ConfigurationElement and overriding the DeserializeElement eveything works as expected and can get what I need from it the XmlReader that is always provided and functional.
Unfortunately when I override the SerializeElement the XmlWriter that is provided to it is always null for some reason I am yet to determine why. I have tried overriding other methods and calling the base.SerializeElement first thing in the call. Regardless I have yet to find a way to make sure that the XmlWriter passed to SerializeElement when the Configuration.Save method is called is not null.