Um dir den fehler aufzuzeigen: Am Anfang steht da also:
for z := 1 to (TListbox(FindComponent('_te1_tw1')).count -1) do
.
Hast du eine Listbox die "_te1_tw1" heißt? Nein? Pech denn der Cast prüft das nicht mehr
In diesem Fall (da es ja weniger auf die Performance ankommt) besser mit as casten.
Also:
for z := 1 to ((FindComponent('listbox_te'+IntToStr(y)+'_tw'+IntToStr(x)) as TListbox).count -1) do