Обрезание до 16 бит в сетевой переменной, не превращает DINT в INT, знак минус находится в 31 и 15 битах, соответственно, если считать с "0" и он обрежется!
Кроме того в ПР200 бывает это выводят на экран, да и в симуляторе проверять - мозги забивать лабудой, на мой взгляд, лучше флоат в инт преобразовать, что я и сделал несколько лет назад!
http://www.owen.ru/forum/showthread.php?t=13106&page=3
Конечно Ваше право убеждать мозг, что это не "4 миллиарда", а "минус"!