Вы могли бы использовать, %CD%\
который обозначает Текущий каталог вместо %~dp0
.
Я не заметил никакой разницы между этими двумя.
На заметку о том, что вы использовали start
команду, рекомендуется добавлять дополнительные ""
перед запуском программы и включать все параметры в одну кавычку, а также при необходимости экранировать кавычки. Пример:
start /wait "" "%CD%\MyProgram.exe /link \"MyOtherDLL.dll\""