Блин! У меня нет слов! Проблема решилась многочасовым гугленьем. Самое смешное - решение нашел на этом форуме в сообщении http://fire-monkey.ru/topic/3014-ne-otobrazhaetsya-tlistitemimage/?do=findComment&comment=18113 , спасибо огромное @DimArt за решение!
Вся проблема была в недокументированном свойстве OwnsBitmap, достаточно после загрузки изображения в ListItemImage.Bitmap добавить строчку ListItemImage.OwnsBitmap:=True; И все начинает отлично работать под Android.
Документация ембаркадеро говорит нам о этом свойстве следущее "Embarcadero Technologies does not currently have any additional information." (http://docwiki.embarcadero.com/Libraries/Tokyo/en/FMX.ListView.Types.TListItemImage.OwnsBitmap). Б*%дь, ну как так то? У меня одни маты, два дня просраны вхолостую...
Итоговый, работоспособный код функции SetupImageObject ниже
function SetupImageObject(const AName : String; AWidth, AHeight, X , Y : Single;
AAlign, AVertAlign: TListItemAlign) : TListItemImage;
Var AImageURL : String;
begin
Result:=TListItemImage(AItem.View.FindDrawable(AName));
if Result=Nil then
begin
Result:=TListItemImage.Create(AItem);
AImageURL:=AItem.Data['ImageURL'].AsString;
Result.Bitmap:=LoadImageFromURL(AImageURL);
Result.OwnsBitmap:=True;
end;
Result.Name:=AName;
Result.Width:=AWidth;
Result.Height:=AHeight;
Result.PlaceOffset.X:=X;
Result.PlaceOffset.Y:=Y;
Result.Align:=AAlign;
Result.VertAlign:=AVertAlign;
Result.ScalingMode:=TImageScalingMode.StretchWithAspect;
end;