あっ、間違えた。is は nil チェックするんでしたね。

if (cmp is TEdit) then TEdit(cmp).Text := IntToStr(num[i]);

で OK でした。 Assigned は余計でした。でも as の出番がない。