Mirate este enlace, ahí te explica que el proveedor oledb no soporta parámetros con nombre, si el CommandType del OleDbCommand es Text
http://msdn.microsoft.com/es-es/libr...(v=vs.80).aspx
Prueba con esto:
Código vb:
Ver originalPublic Sub setImagen(ByVal nombrearchivo As String, ByVal length As Integer, ByVal imagen As Byte())
Dim query As String = "INSERT INTO Imagenes (imagen) " & _
"VALUES (?)"
Dim cmd As New OleDbCommand(query, claseConexion.ConectarProveedor)
Dim imageParam As OleDbParameter = cmd.Parameters.Add("imagen",System.Data.SqlDbType.Image)
imageParam.Value = imagen
cmd.ExecuteNonQuery()
End Sub