Setting a multiline TextBox's SelStart property doesn't ensure that the insertion point (the caret) is visible. You can achieve this by sending the control an appropriate message:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Const EM_SCROLLCARET = &HB7
' Ensures that the caret is visible.
Sub ScrollCaret(tb As TextBox)
SendMessage tb.hwnd, EM_SCROLLCARET, 0, ByVal 0&