A simple vista, estas pasando siempre el mismo identificador a tu proceso que baja la imagen de la web
A mi me resulta extraño tu bucle for:
for i := 0 to AMenuList.Count -1 do begin
Menu := TStringList.Create;
try
ExtractStrings(['~'],[],PWideChar(AMenuList.Strings[i]),Menu);
Item := TListBoxItem.Create(nil);
Item.Parent := AListBox;
Item.StyleLookup := 'itemMenu';
Item.Height := 30;
Item.Text := Menu[0]; // no deberia ser Menu[I]?
Item.StylesData['textmenu'] := Menu[0]; // no deberia ser Menu[I]?
SetItemImages('iconMenuImg',Menu[1],Item); // no deberia ser Menu[I]?
finally
Menu.Free;
end;
end;
No se exactamente que guardas en el TStringList Menu, pero lo iteras y dejas varios indices "fijos"
Por otra parte, sin necesidad de liarse con estilos, TListBoxItem ya tiene soporte para imagenes usando TImageList + propiedad ImageIndex, o bien, TListBoxItem.ItemData.Bitmap
Ejempo pequeño:
procedure TForm1.Button1Click(Sender: TObject);
var
Item: TListBoxItem;
begin
Item := TListBoxItem.Create(ListBox1);
Item.Parent := ListBox1;
Item.ItemData.Bitmap.LoadFrom...
end;
Otro dato no menor, estas creando los TListBoxItem sin Owner, esto te lleva a fugas de memoria si la aplicacion corre en Windows
PD: Por cierto, en Berlin no tengo el metodo LoadFromUrl 