Perdón, me distraje un poco. El problema básico es que no estás poniendo la dimensión de los VARCHAR.
El código quedaría mas o menos:
Código sql:
Ver originalDELIMITER $$
DROP PROCEDURE IF EXISTS`NuevoProducto`$$
CREATE PROCEDURE `NuevoProducto`(
IN IDProd INT,
IN Cod VARCHAR(20),
IN Descri VARCHAR(20),
IN Foto VARCHAR(20),
IN Rub INT,
IN SubRub INT,
IN FechaA DATE,
IN IDUsu INT,
IN Empre INT,
IN Sucur INT)
BEGIN
INSERT INTO Productos(IdProducto, Codigo, Descripcion, FotoPath, Rubro, SubRubro, FechaAlta, UserALTA, Empresa, Sucursal)
VALUES(IDProd, Cod, Descri, Foto, Rub, SubRub, FechaA, IDUsu, Empre, Sucur);
END$$
DELIMITER ;
Nota: El DELIMITER no requiere cierre de sentencia.