No soy un experto en mysql, pero ¿no necesita referirse a la variable OUT en ningún momento y asignarle un valor?
Por ejemplo, como se ve en 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'