Да, автор книги конечно наворотил... Судя по всему, если не ошибаюсь, в данном примере используется протокол ModBus, где 5А - стартовый байт, а 21 - это команда кажись на запись всего того, что идёт после.
dim_OK, все несколько проще. У этого компонента есть несколько функций для передачи и приёма данных. Эта функция передаёт данные, представленные в виде строки. Стартовые байты необязательны и предусмотрены самими протоколами. На начальных стадиях изучения лучше не заморачиваться на протоколы и передавать данные в удобочитаемом виде. Например так:
Код
String str:= "Прэвэд Мэдвэд!";
VaComm1.WriteText(str);