По определению в стандарте МЭК WORD – это битовая строка из 16 элементов, которые можно адресовать раздельно. UINT – это целое без знака. По стандарту их нельзя смешивать, но CoDeSys допускает такую вольность.

Указатели в CoDeSys изначально понадобились для сериализации, при написании протоколов связи. Указатель тут понимается как физический адрес в памяти. Получил указатель на что угодно и погнал побайтно в com порт. Бывает в текстовую строчку надо залезть как в массив или сложный тип разобрать. Предполагается, что указатель использует человек разумный и сам знает чего он там адресует. Для его удобства контроль вырублен.

Если подпрограмма получает указатель и не знает что это, то сообщить ей тип логично. Она может по CASE для возможных типов взять переменную правильно, если ей это надо.