El nombre de los parámetros no tiene que coincidir con las columnas sino con los marcadores de posición:
INSERT INTO testproc (mytext, mytext2) VALUES (?mytext, ?mytext2)
Supongo que si usa parámetros sin nombre:
INSERT INTO testproc (mytext, mytext2) VALUES (?, ?)
el orden si importa.
Siempre usé la primera opción pero con:
command.Parameters.Add("?mytext2", "aaaaaaaaaaaaaaaaa")
command.Parameters.Add("?mytext", "bbbb")
No sé si hace alguna diferencia con AddWithValue()
Actualización:acabo de darme cuenta de que a sus parámetros les falta un signo de interrogación. Ese será el problema. Agregue un signo de interrogación tanto a su consulta como a sus parámetros.