suponiendo que horas, ni minutos, ni segundos, ni milesimas de segundo pueden alcanzar su valor maximo osea 60,60,60,1000 ya que si minutos valiera 60 ya no fueran 60 minutos si no 1 hora y minutos valdria 0, hay te hize un ejemplo a ver si te sirve:
valores maximos: 99:59;59;999  

Option Explicit
 
Private Sub Form_Load()
MsgBox SumarTiempo("00:02;20.254", "00:02;59.800")
End Sub
 
Private Function SumarTiempo(Tiempo1 As String, Tiempo2 As String) As String
Dim H As Integer, H2 As Integer
Dim M As Integer, M2 As Integer
Dim S As Integer, S2 As Integer
Dim Ml As Integer, Ml2 As Integer
Dim Horas As Integer, Minutos As Integer, Segundos As Integer, Milesimas As Integer
 
H = Mid(Tiempo1, 1, 2)
M = Mid(Tiempo1, 4, 2)
S = Mid(Tiempo1, 7, 2)
Ml = Mid(Tiempo1, 10, 3)
 
H2 = Mid(Tiempo2, 1, 2)
M2 = Mid(Tiempo2, 4, 2)
S2 = Mid(Tiempo2, 7, 2)
Ml2 = Mid(Tiempo2, 10, 3)
 
Horas = H + H2
Minutos = M + M2
Segundos = S + S2
Milesimas = Ml + Ml2
 
If Milesimas >= 1000 Then
Segundos = Segundos + 1
Milesimas = Milesimas - 1000
End If
 
If Segundos >= 60 Then
Minutos = Minutos + 1
Segundos = Segundos - 60
End If
 
If Minutos >= 60 Then
Horas = Horas + 1
Minutos = Minutos - 60
End If
 
SumarTiempo = Format(Horas, "00") & ":" & Format(Minutos, "00") & ";" & Format(Segundos, "00") & "." & Format(Milesimas, "000")
 
End Function
 
 
espero que te sirva de algo. Saludos xD