Why could they not change them? The only time the defaults would be set is when you create the object, if you look at your designer files (they are hidden by default) you can see something like this:
When you use the IDE it writes this for you, it creates an instance of the object (thus firing your default property code) then it will update any properties that the user has changed in the propertygrid.
Me.lsvConnections.ContextMenu = Me.ctmConnections
Me.lsvConnections.Dock = System.Windows.Forms.DockStyle.Fill
Me.lsvConnections.FullRowSelect = True
Me.lsvConnections.GridLines = True
However, possibly you can override properties (if they allow it, if not you can shadow them!) and change their structure to use a different default attribute (System.ComponentModel.DefaultValue). Heres an example of one, I have not tried it while overriding another class but I can't see that it should block you.
Public Property UseScript() As Boolean
Set(ByVal value As Boolean)
mobjData.UseScript = value