вопрос решился передачей значения в переменную
CREATE DEFINER=`root`@`%` FUNCTION `GetMailAcc`(`in_domen_id` int) RETURNS int(11)
BEGIN
DECLARE result_str, count_str INT(11);
SET count_str = (
SELECT COUNT(1) AS QTY
FROM L_mail_account AS MA
WHERE MA.domen_id = in_domen_id
ORDER BY last_upd DESC
LIMIT 1
);
IF count_str > 0 THEN
SET result_str = (SELECT MA.id FROM L_mail_account AS MA WHERE MA.domen_id = in_domen_id LIMIT 1);
ELSE
SET result_str = (SELECT id FROM L_mail_account ORDER BY last_upd DESC LIMIT 1);
END IF;
RETURN result_str;
END
но остался другой вопрос(((
Как исправить update +1 в функции?