Cita: Mmmm, pues no estoy segura de si los parametros se asignan correctamente, pero yo juraria que si.... Cada variable es del tipo correcto y coinciden con los de la base de datos....
Para salir de dudas porque no pruebas si en realidad los parámetros se asignan adecuadamente, pon especial énfasis en esta línea:
MyCommand.Parameters(Cols(I - 1)).Value = ColValue
Saludos