Non funziona ancora come dovrebbe!

Non capisco perchè sulla stringa che gli passo in input, non la stampa tutta, con la dovuta interruzione.

codice:
<%
Function dividiStringa(sStr, iInizio, iProg)

	Dim sTesto 
	Dim lLenght
	Dim sFinal 

	If Len(sStr) > 20 Then
	   If Mid(sStr, 21, 1) = " " Then
		  sFinal = Mid(sStr, 1, 20) 
  	  	  response.write(sFinal)
		  sTesto = Mid(sNota, 22, Len(sStr) - 21) & "
"
		  iProg = iProg + 1
		  dividiStringa sTesto, 1, iProg
	   Else
		  lLenght = InStrRev(Mid(sStr, 1, 20), " ")
		  If Not lLenght = 0 Then
			 sFinal = Mid(sStr, 1, lLenght) & "
" 
 		 	 response.write(sFinal)
			 sTesto = Mid(sStr, lLenght + 1, Len(sStr) - lLenght)
		  Else
			 sFinal = Mid(sStr, 1, 20) & "
" 
		  	 response.write(sFinal)
			 sTesto = Mid(sNota, 20 + 1, Len(sStr) - 20)
		  End If
		  iProg = iProg + 1
		  dividiStringa sTesto, 1, iProg
	   End If
	ElseIf Len(sStr) <= 20 And Len(sStr) <> 0 Then
		 sFinal = sStr & sFinal 
  	 	 response.write(sFinal)
	End If

End Function

response.write(dividiStringa("ciao ma vi mancano i vecchi telefilms",1,1))
%>
Stampa solamente : "ciao ma vi mancano i"...