Qlikview interprets your codes as numbers with a display format. The first 001 is interpreted as 1 with display format 001. The next value 01 is also interpreted as 1 and gets the same display format as the first 1 because a number can have only one display format. And so on for 002-02, 003-03 etc. The solution is to use the text() function:
LOAD text(CODE),TXT ;
select CODE, TXT
from dlvreason where code < '20'
and dataareaid='els6' order by 1;