По поводу второго варианта(упаковка в .ехе) может пусть fasm компилит dll-ку типа project1.dll (оптимизирует код он прекрасно да и сжимать не к чему т.к. код и так небольшой только то что надо) а из основного еxe к ней идут вызовы - появление одной .dll-ки к проекту думаю не критично.
Собственно вы сами ответили на свой вопрос. Есть такой замечательный компонент CallDLL, который умеет вызывать ф-ции из указанной в его св-ве DLL. Работа с ним описана в справки с двумя примерами: на Delphi и на С++. Почему бы не взять его за основу? Один раз придется разобраться как корректно написать dll на ASM, зато потом будет все что заказывали - ставим компонент, задаем нужное число точек( т.к. он DPElement! ) и стукуем с внешней DLL.