Your code uses object initializers which where introduced in VB.Net 9.0 (Visual Studio 2008); hence you can't use them in VB.Net 8.0 (Visual Studio 2005).
You have to do it the verbose way, e.g.:
Dim parameters(3) As SqlParameter
Dim p As SqlParameter
p = New SqlParameter("@first_name", SqlDbType.VarChar, 50)
p.Value = "john"
parmaters(0) = p
p = New SqlParameter("@last_name", SqlDbType.VarChar, 50)
p.Value = "doe"
parmaters(1) = p
...