Nell'ordinamento o fai partire i da 0 oppure iteri finchč i č diversa da n.
Inoltre hai usato l'indice i (e non k) per lo scambio...
Usa i tag [*code][*/code] (senza asterischi) la prossima volta, per postare il codice e, soprattutto, indica il linguaggio nel titolo della discussione.

Guarda qui: http://www.algorithm-code.com/wiki/Bubble_sort

codice:
procedure BubbleSort(var A:array of Integer);
Var
    i, z: Integer;
    swapped: boolean;
begin
    repeat
        swapped := false;
        for i:=low(A) to high(A)-1 do
        begin
            if(A[i] > A[i+1])then
            begin
                z := A[i];
                A[i] := A[i+1];
                A[i+1] := z;

                swapped := true;
            end;
        end;
    until swapped = false;
end;