>> я когда-то написал столь запомнившуюся тебе сентенцию 
До тебя так и недошло что подобные фразы неуместны нигде))
>>Что до разделения в "архитектурных целях" то разделение скрипты / программа
Никакое это не разделение, это вынос некоторого функционала из компайлтайм в ран тайм.  На таком этапе развития от скриптов вреда больше чем пользы.
>>если это не "прокладка" то я уж совсем ничего не понимаю ... 

Говоря про разделение я говорю примерно о
Скрипт-Внутреннее представление графики-Система отображения
Без всяких конкретик типа канвас или метафайл. Используешь gdi как систему отображения - используются метафайлы, используешь OpenGL - используются gl специфичные буфера.
Причем части программы должно быть возможно тусовать без изменений в других частях. Например вместо скриптов использовать другой источник графики, вместо канваса опенгл...
>>То есть например есть :
А должно быть чтото наподобии
- Код: Выделить всё
- Procedure Drw_LoadIMG (Dest:TDrawContext;X,Y,x1,y1:TCoordType;N:TYourString);
 Var
 PImageDesk:^ImageDesk;
 begin
 PImageDesk:=ImagesManager.FindLoadedImage(N);
 If PImageDesk<>nil then ImagesManager.DrawImage(Dest,X,Y,x1,y1,PImageDesk)
 else
 begin
 PImageDesk:=ImagesManager.LoadImage(N);
 If PImageDesk<>nil then ImagesManager.DrawImage(Dest,X,Y,x1,y1,PImageDesk)
 end;
 end;
Т.е. разные моменты решаются в разных местах - откуда грузить диск-инет..., куда грузить битмап для канваса-текстура для OGL..., как выводить... Ну и естественно кэшировать, за лопатенье диска в онпаинт  руки отрывать надо.
причем в скрипте данная функция должна быть зарегистрирована без Dest:TDrawContext зачем скрипту рисовать в другие места кроме как на область  отображения, наверно ты это и решаешь курруанвасом.
>>Но метофайлы делают это проще и логичнее .. (Почти все обновление уместилось в одну процедуру )
Я тебе уже говорил что ты выбрал самый отстойный способ выделения объектов мышкой (Принцип пишем как слышим рулит, ага). Чтоб реализовать этот и многие другие моменты правильно (теже габариты определить) тебе понадобится информация о геометрии объектов в программе. Постоянно гонять для этого скрипты - медленно, метафайл прячет эту инфу внутри себя, недоберешся... Извиняй, в этом месте без нормальной "прокладки" никак
Добавлено спустя 22 минуты 43 секунды:>>За чем вообще скрипты прорисовки ? А затем, что ситуация может изменится противоположною.
Скрипты так скрипты, это мало что меняет. Это всеголишь способ получить геометрию объекта в программу. Способ не лучше и не хуже других (хотя с учетом что ps мертвый, наверно всетаки хуже)(также нормальные люди предпочтут визуальные способы пополнения примитивов - нарисовал "звезду" линиями, добавил в "базу" используешь вдальнейшем как примитив)
зы. чето глядя на твой скрипт подозреваю, что потом когда появятся инструменты работы с чертежом - например "повернуть вокруг произвольной точки" в таком скрипте повернется только точка вставки звезды, сама звезда крутится небудет. Вообще с учетом преобразований объектов вся твоя скриптовая система летит к чертям, т.к. ты загнал пераметризацию объекта внутрь скрипта.
ИМХО правильно преобразовывать объекты без учатия скрипта, т.е. применительно к этой звезде в скрипте  только определять количество вершин, а поворот-растяжение-положение без участия скрипта