Для булевых переменных, даже передаваемых в виде маски, диапазон задать не получится. Мне кажется надо пачкой передавать, а получив, посылать в обратную, и сравнивать если пришло то же самое, то посылка дошла, иначе снова посылаем (по событию). И последней переменной сделать счетчик для контроля наличия связи и по ней же можно узнать что пришли новые данные.

capzap, скажите, а как Вы организуете управление дискретными переменными через UDP, не проверяя корректность на том конце? Я понимаю, что если не дойдет посылка ничего страшного не произойдет, дойдет следующая, а если дойдет с ошибками, то ложно сработает какой-нибудь выход.