Non sono un esperto di MySQL, ma non è necessario fare riferimento alla variabile OUT in nessun momento e assegnarle un valore?
Ad esempio, come visto su http://dev.mysql.com/ doc/refman/5.0/en/call.html :
CREATE PROCEDURE p (OUT ver_param VARCHAR(25), INOUT incr_param INT)
BEGIN
# Set value of OUT parameter
SELECT VERSION() INTO ver_param;
# Increment value of INOUT parameter
SET incr_param = incr_param + 1;
END;
HTH
Phil'