Vanligtvis spenderade jag 3 timmar på det här, sedan STRAX efter att jag postat frågan hittar jag problemet. Så, för framtida referens:Det verkar som att MySQL är skiftlägesokänslig när det gäller variabler. ID
kolumnnamn och id
variabeln uppenbarligen förvirrade den fullständigt.
Jag ändrade procedurens indataparameternamn till retId
och då fungerade det perfekt.