Mira Compadre, aclaremos algo... Yo soy papá !!! y con el código que enviaste de muestra para analizar, me pusiste a "parir como una madre"

(Je, Je, Je !!!)

Reviso, y reviso y reviso una y otra vez el código, todo perfecto (pero no entendí un caraj...!!! -je, je, je otra broma, tranquilo !!!)
Bueno, lo que no entendí bien fue el propósito de los 5 Textboxs que tienes en el UC. Ahora, cuando escribes este segmento de código:
If Len(txtTit) > 0
Then MsgBox ("Aqui me caigo")
End IfLa parte "Len(txtTit)" la corriges:
Len(txtTit.Text):
If Len(txtTit.Text) > 0
Then MsgBox ("Aqui me caigo")
End IfEl que se cayó fui yo, porque al aplicar puntos de interrupción, el evento
Change lo lee, pero siempre el Len lo daba como '0' y ahí era cuando despues de varias veces de intentarlo infructuosamente, iba a tomar la decisión de pararme encima de mi PC, y arrojarme al vacío (je, je, je !!! otra vez con las bromitas, ¿no?). Esto pasa, porque está leyendo los cambios que suceden en el TextBox2 del UC, porque al colocar "Text1.Text = New_Text", "Text2.Text = New_Text",......"Text5.Text = New_Text", siempre tomará los valores del TextBox5, cuya propiedad 'Text' es siempre = "".
Ahora en el Código del UC:
Public Property Get Text()
As String Text = Text1.Text
Text = Text2.Text
'-----------------> Agregas esta línea...End Property
Public Property Let Text(
ByVal New_Text
As String)
Text1.Text = New_Text
Text2.Text = New_Text
'Text3.Text = New_Text '---|
'Text4.Text = New_Text ' |------> Estas 3 las inhibes, quemas, borras, desapareces. etc, etc...
'Text5.Text = New_Text '---| PropertyChanged "Text"
UserControl_Resize
End PropertyPruébalo, y por favor dime como te resultó !!! (las probé y funcionaron !!!)
Saludos !!!
Manuel F. Borrego S.
Barcelona, Venezuela.