El cliente puede puede tener toda la razón que quiera, pero en cosas así, no.
A mí me llama un cliente y me dice que ha probado un software de terceros y le dice "tabla corrupta" y lo mando a... comprar fanta.
Lo que tienes que hacer es verlo con tus ojos y probarlo. Y nada de software de terceros, ¡¡¡qué sabrá ese software sobre tu base de datos!!!
En cuanto a tu código, bueno, si funciona no lo toques
Ya en serio, yo haría las cosas de otra manera, pero por indicar sólo una cosa: el
insert sería un 'stored procedure' al que le pasaría parámetros.
Y, bueno, no se parecería mucho a tu código, pero ya digo, si funciona no lo toques