Если функции являются функциями C, и вы не изменяете определение передаваемых структур, нет необходимости перестраивать приложение.
Если DLL экспортирует классы C ++, то модуль импорта необходимо перестраивать. Несмотря на то, что сигнатуры методов не меняются, экспорт класса C ++ протекает с утечкой: при выделении пространства для класса не существует определенной функции распределителя, которая экспортируемый (по умолчанию) как таковой импортирующий модуль должен угадать, сколько места нужно выделить, перед вызовом конструктора (экспортированного). Он строит это предположение путем анализа определения классов.
Печальным последствием этого является то, что даже если вы будете осторожны, чтобы изменить только детали реализации классов - даже если сигнатуры методов останутся прежними, и DLL будет успешно загружена, приложение выделит неправильное количество байтов при создании новый экземпляр в куче или стеке.