Non ho provato, ma non sarò sorpreso da mysqli_multi_query()
prevedendo di avere lo stesso delimitatore di ogni query. Provare a comprimere la creazione della stored procedure in una singola query, senza utilizzare il modificatore DELIMITER?
Quindi invece di
<?php
$results = mysqli_multi(
'DELIMITER $$
USE `dbname`$$
CREATE PROCEDURE `procname`(IN inputparameters)
BEGIN
... procedure goes here
;
END$$
DELIMITER ;
');
?>
Basta farlo
<?php
$result = mysqli_query('CREATE PROCEDURE `procname`(IN inputparameters) BEGIN ...; END');
E dicci se funziona :)