timer kullandığınızda program timer a takılır yani bir nevî kandırmacadır. timerda bir görsel şölen izletirsiniz timer bittiğinde senmail yapar

zaten başka da bir çözümü yoktur. örneğinizde zaten timer benzeri bir yöntem kullanılmış gördüğüm kadarıyle. sadece çok hızlı gidiyor ise biraz süreyi uzatmanız gerekebilir.
Do Until l >= lbarlnth
Call RunProgressBar(l)
l = l + 10
Pause 0.01
Loop
Box20.Visible = False
Box21.Visible = False
Pause 2
SendMail
buradaki do/loop arasındaki pause rakam değerlerini değiştirerek çözüme kavuşabilirsiniz. ama dediğim gibi görsel olayı hallettikten sonra sendmaile düşüyor.