Hola.
Lo más importante para que se pueda alinear es, como bién dice
newtron, el tipo de fuente utilizado.
Una forma alternativa al llenado de espacios a la izquierda es usando la función
Format.
Por ejemplo:
Código Delphi
[-]
with ListBox1 do
begin
Font.Name:= 'Courrier';
Clear;
Items.Add(Format('%4d',[1]));
Items.Add(Format('%4d',[10]));
Items.Add(Format('%4d',[10]));
Items.Add(Format('%4d',[100]));
end;
Un ejemplo para el caso de que fueran valores punto flotante :
Mas datos en la ayuda de Delphi (Format Strings).
Saludos.