Добрый день.
Столкнулся с такой неприятностью. Пишу цифровую модель. В библиотеке определены createdsimmodel и deletedsimmodel. Есть класс с моделью. Взятый, например, из доки по разработке моделей. Собираю. В 7-м Протеусе обе функции (createdsim/deletedsimmodel) вызываются при нажатии на "Run" / "Stop" соответственно. В 8-ке вызывается только createdsimmodel. На нажатие "Stop" не вызывается ни "runctrl(RM_STOP)", ни "deletedsimmodel". При повторном нажатии на "Run", в отличии от 7-ки, библиотека оказывается загружена в то же адресное пространство, хотя VSMDEBUG грузится каждый раз по разным адресам.
В VSMDEBUG.DLL есть callback-функция 0x10003950 (8.1 SP1 bld 1735

, которая вызывается с параметром 0x620 при нажатии на Stop или Run. В момент выполнения Stop/0x620 выгружаются библиотеки DSIM/PROSPICE/и т.д. После выполнения Stop/0x620 продёргивается тот же callback с параметром 0x113 (при симуляции вызывает runctrl(0x3)).
В общем, я так и не понял пока, почему не вызывается deletedsimmodel.
Update: посмотрев на работу LCDALPHA.DLL, выяснилось, что у неё вызывается только deleteactivemodel, а deletedsimmodel — нет. У VTERM.DLL deletedsimmodel тоже не вызывается.