Normalmente, passava 3 horas nisso e, APENAS depois de postar a pergunta, encontrei o problema. Então, para referência futura:Parece que o MySQL não faz distinção entre maiúsculas e minúsculas no que diz respeito às variáveis. O
ID
nome da coluna e id
variável aparentemente confundiu completamente. Alterei o nome do parâmetro de entrada do procedimento para
retId
e então funcionou perfeitamente.