Дело в том, что у вас Image1.Bitmap, как экземпляр класса TBitmap присутствует. НО в нем нету никакой информации. То есть по факту у него размер равен 0 на 0. Это значит, что для него хендл не будет выделяться (Зачем системе хранить пустой битмап). Поэтому, когда вы пытаетесь с ним поработать и получить доступ к канве, то получаете такую ошибку:
raised exception class ECanvasException with message 'Handle not allocated'
Теперь смотрим ваш код:
Image1.Bitmap.Canvas.BeginScene;
Будет работать с канвой, но хендла нет. отсюда будет исключение.
Image1.Bitmap.Clear(0);
Опять же работает с канвой и пытается очистить пустой битмап.
Image1.Bitmap.LoadFromStream(MemStream);
Это корректный вызов, при загрузке нового битмапа будет выделен хендл на уровне Image1.Bitmap.
Соответственно, вам нужно:
Сформировать новый битмап
Загрузить его в Image1.Bitmap
На Windows используется GDI+/Direct2D канва, которая может работать по другому. А на мобильных платформах GPU, поэтому у вас и возникает ошибка.