Все правильно - разработчики Delphi решили, что заканчивать код на EntryPoint по CALL это "круто", а RET и JMP используют только ламеры ) Поэтому перед VMProtect стоит задача определить какой же CALL надо считать последним. В последних версиях VMProtect (> 2.04) пришлось отказаться от эвристики (определение CALL Halt0 по близлежащему коду) по причине большого количества неправильных определений и перейти на поиск Halt0 по сигнатурам. Возможно что в вашем случае сигнатура Halt0 не совпала с сигнатурами, забитыми в VMProtect, из-за версии Delphi или из-за оптимизатора, поработавшего над кодом Halt0. Для решения проблемы пришлите дизассемблированный листинг Halt0 на наш е-маил.
Загрузка [V] 008466B4 mainform.TFormMain.MIRegClick
0083E38B E383 jecxz 0083E310
[Ошибка] mainform.TFormMain.ASaveOnePhotoExecute.0083E38B: Переход на часть команды
Что делать? Прислать кусок кода (процедуры, в которой выдает ошибку) или нужен весь текст модуля?