saludos.
porque no usas la propiedad invertir?
Código:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,caja1;
var a:cnumeronatural;
X:integer;
begin
a:=cnumeronatural.crear;
Writeln('Digite un Numero');
Readln(x);
a.AsignarValor(x);
a.Invertir;
writeln('Numero Ordenado De Menor a Mayor ',a.obtenervalor);
readln;
end.