Ehm, ehm,...I premitted:"if I understood well"
Really, perhaps that way to write names is an english habit, we don't use it. I thought our friends Jenbug needed to obtain a particular format to export/import in other application, or....I don't know!
Anyway I tried to adapt my code:

VB Code:
  1. Dim parts() As String = str.Split(Char.Parse(" "))
  2.         str = ""
  3.         Dim i As Int16 = parts.Length - 1
  4.         Do While i >= 0
  5.             str = str & parts(i)
  6.             If i = parts.Length - 1 Then
  7.                 str = str & ", "
  8.             Else
  9.                 str = str & " "
  10.             End If
  11.             i -= 1
  12.         Loop
  13.         Debug.WriteLine(str.TrimEnd)

and now you can read:
Smith, J. Anderson Carol

Anyway your code is surely good, too. This is a little more compact. I had to write this for a friend and so I had time to squeeze my brain on the problem. I'm a beginner. I'm sure you are a better programmer than me (really think so!) and I'm sure that in 95% of situations your code should be better of mine, too. But in this particular application, I prefer mine. Then Jenbug will decide...! Good job.