Replace
set @mask = maxint - number;
with
set @mask = @maxint - @number;
also
Replace
update tbl_b set flag = (flag & mask) where client = @client;
update tbl_c set flag = (flag & mask) where client = @client
with
update tbl_b set flag = (flag & @mask) where client = @client;
update tbl_c set flag = (flag & @mask) where client = @client;
This should work