Oh sorry am using vb 2003.

Okay had a little read off all that boring thread stuff, then reverted to the method that mankind has been using for millenia.
Give it a go without any understanding of the consequences.
So using the above theory have come up with this, which seems to work.

VB Code:
  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.  
  3.    t = New Thread(AddressOf processweb)
  4.             t.IsBackground = True
  5.             t.Start()
  6.  
  7. End Sub
  8.  
  9.  
  10.  Private Sub processweb()
  11.         Do
  12.             startwebcount = True
  13.             Me.txtwebcount.Text = 30
  14.             Thread.Sleep(30000)
  15.             startwebcount = False
  16.             If doweb = True Then
  17.                 Me.Pbweb.Value = 10
  18.                 Me.txtwebcall.Text = CStr(CLng(Me.txtwebcall.Text) + upwebsite.getupcalldata())
  19.                 Thread.Sleep(0)
  20.                 Me.Pbweb.Value = 20
  21.                 Me.txtwebcomp.Text = CStr(CLng(Me.txtwebcomp.Text) + upwebsite.getupcompdata())
  22.                 Thread.Sleep(0)
  23.                 Me.Pbweb.Value = 50
  24.                 Me.txtwebemp.Text = CStr(CLng(Me.txtwebemp.Text) + upwebsite.getupempdata())
  25.                 Thread.Sleep(0)
  26.                 Me.Pbweb.Value = 70
  27.                 Me.txtwebcon.Text = CStr(CLng(Me.txtwebcon.Text) + upwebsite.getupcondata())
  28.                 Thread.Sleep(0)
  29.                 Me.Pbweb.Value = 90
  30.                 Me.txtremwebemp.Text = CStr(CLng(Me.txtremwebemp.Text) + upwebsite.getwebchanges())
  31.                 Me.Pbweb.Value = 100
  32.                 Me.Pbweb.Value = 0
  33.             End If
  34.  
  35.         Loop
  36.     End Sub

As I say this seems to work, but who knows, not me as reading stuff hurts my head, so if anyone wiser and more literate than me could confirm or deny if the above makes sense.
Cheers