Il comportamento del tuo dispositivo è corretto, il waypoint con impostata un'altitudine viene considerato solo al momento dell'inizio della registrazione (e deve trovarsi ad una certa distanza da dove ti trovi, se è troppo lontano non viene considerato) e serve appunto a impostare la quota di inizio registrazione, poi le variazioni altimetriche rilevate vengono relazionate alla quota iniziale della registrazione. Te ne accorgi subito quando fai partire la registrazione, io ad esempio parto utilizzando un waypoint con altitudine di 270m, se accendo il dispositivo e segna ad esempio 243m, quando premo il tasto start il valore dell'altitudine diventa istantaneamente 270m, se lo lasciassi lì fermo si svvicinerebbe a 270m, non so con che precisione, ma ci impiegherebbe molto più tempo.
Poi ci sono software che analizzano a posteriori il gpx registrato, se sai l'altitudine esatta (perchè ricavata da mappe topografiche, ecc.) di uno o più punti la imposti e tutti i punti prima e dopo vengono corretti di conseguenza, sempre in accordo al profilo registrato per non stravolgerlo (spesso basta cambiare altitudine di partenza e altitudine massima)