Yo solo añadiría, que mientras que el random tal como lo usas genera números entre el 0 y el 99, tu declaras el array de bytes X entre el 1 y el 100. Además no tienen mucho sentido usar aquí Round, ya que Random ya devuelve números enteros. En resumen:
Código Delphi
[-]
Label1.Caption:= IntToStr (X[Random(100)+1]);
Aunque como ha dicho ArdiIIa, si solo quieres generar números aleatorios no te hace falta un array:
Código Delphi
[-]
Label1.Caption:= IntToStr (Random(100));