I don't have .NET, so I'll give you the breakdown of what I would do. There is a command, called "split" that allows you to rip a string apart, by a certain delimiter (character). It Returns an array. What I would do is split the string by space, and then test how many elements of the array there are. That may not tell you how many words, but it will certainly tell you how many parts of a string there is seperated by a space :)
Alright, here is the VB6 Equivelant code for what you want to do. The same concept will apply in .NET, but I know that the syntax is different. I'll research the same code on google, and post the code for doing this in .NET.
Function WordCounter(words) As Integer
Dim strTemp As String
Dim counter As Integer
strTemp = Split(words, " ")
counter = UBound(strTemp)
For i = 0 To counter
If strTemp(i) = "" Then
counter = counter - 1
End If
Next i
WordCounter = counter + 1
End Function
LuckyMan- you may want to check out "Regular Expressions" on msdn or even Google; it is native to VB .NET (and Pearl, etc) and has powerful string parsing functions that, I hope, will make everything much easier.