Eu não testei, mas não ficarei surpreso com
mysqli_multi_query()
esperando ter o mesmo delimitador de cada consulta.Tente compactar a criação do procedimento armazenado em uma única consulta, sem usar o modificador DELIMITER ? Então, em vez de
<?php
$results = mysqli_multi(
'DELIMITER $$
USE `dbname`$$
CREATE PROCEDURE `procname`(IN inputparameters)
BEGIN
... procedure goes here
;
END$$
DELIMITER ;
');
?>
Apenas faça isso
<?php
$result = mysqli_query('CREATE PROCEDURE `procname`(IN inputparameters) BEGIN ...; END');
E diga-nos se funciona :)