Mmmhhhhh lo único que se me ocurre es que no te estés conectando a esa base de datos con OLEDB, además de que verifiques tu conexión, trata pasando el valor cuando creas el parámetro:
Código:
Set p = oCommand.CreateParameter("nombre", adVarChar, adParamInput, 50, "Toni")
oCommand.Parameters.Append(p)
Ja, ya vi otro detalle más...si tienes un stored procedure, para qué le pasas un commandText? no deberías pasarle el nombre de tu stored procedure?
Porque ahí realmente estás creando el parámetro sin necesidad...bueno, ya nos dirás más cosas.
Saludos