el error creo que esta en que en la tabla productos usas 7 campos y en el query solo pones 5 a demás que estas utilizando a codigo al final y no es ese su lugar.
Código:
$insertSQL = sprintf("INSERT INTO producto VALUES(NULL,'',%s,%s,%s,%s,%s)",
GetSQLValueString($_POST['PKIDCAT'], "int"),
GetSQLValueString($_POST['nombre'], "text"),
GetSQLValueString($_POST['codigo'], "int"),
GetSQLValueString($_POST['descripcion'], "text"),
GetSQLValueString($_POST['imagen'], "text"));
saludos.