In genere, ho trascorso 3 ore su questo, quindi SOLO dopo aver pubblicato la domanda ho trovato il problema. Quindi, per riferimento futuro:sembra che MySQL non faccia distinzione tra maiuscole e minuscole per quanto riguarda le variabili. Il ID
nome della colonna e id
la variabile apparentemente l'ha completamente confusa.
Ho cambiato il nome del parametro di input della procedura in retId
e poi ha funzionato perfettamente.