We have found that the the Ambient.UserMode property may mistakenly return the value True even if the UserControl is currently in design-mode. This behavior is a consequence of what .NET considers as “design-time” and in fact it is an issue that also affects developers who author .NET custom controls.
The VB6Utils class exposes a property named IsDesignMode, which returns True when the control is in design-time mode and is more reliable than the Ambient.UserMode property. Because the two properties have an opposite meaning, you have to prefix a Not operator when performing a global search-and-replace: