Все это можно было делать и на заре HiAsm-а
Скажем, фоновая картинка может благополучно содержаться в элементе Image (просто надо помнить, что у него лучше режим Draw: Stretch, особенно при HALFTONE - может серьезно тормозить)
А doRefresh можно делать только один раз в процессе рисования, причем - не важно когда, творчество винды по обновлению экрана начнется все равно только по окончании всей алгоритмической ветки рисования
А при рисовании можно пользоваться элементом Img_Bmp
К примеру, в цепочку "рисовательных мультиков" можно вклеить и такой: code_8302.txt
Спрайты (попросту - бублики) левых мультиков будут "пробегать" над ним, правых - под ним...
В принципе, каждый "рисовательный мультик" должен быть с индивидуальным алгоритмом вычисления положения, и "добывания" картинки спрайта. А вот внутренний мультик - наверняка единый для всех. И именно его логично делать линком на единый оригинал
И что характерно - никаких проблем с маленькой разницей скоростей

Это я припомнил, что ну никак мы этого не могли втолковать Эдик-у, в свое время.
Он с упертостью, достойной лучшего применения, говорил: не пудрите мне мозги! а дайте мне таймеры которые работают с 10, 10.1, 10.2, .... мс