Well - this behaviour is intended :-) Why? Because GPS altitude computation is always pretty inaccurate (there's nothing you can do against this). So one has to set a virtual limit for deciding if a change in altitude has to be added to the descent/ascent values. If you wouldn't do this, slight changes in altitude would be taken into account too and you couldn't use the values at all in the end.