Для начала попробуйте передавать и принимать не блоками, а байтом (т.е. блок состоящий из одного элемента). Если все будет нормально увеличте на один и т.д. Когда обнаружиться ошибка вот тогда и надо будет разбираться.
За одно проверьте правильность настройки Ваших портов - они должны быть полностью одинаковы настроены (только один на прием а другой на передачу).
А для написания программы для портов лучше разберитесь с функциями WinAPI. Это будет гораздо полезней. Будете все это писать сами без использования каких либо сторонних библиотек.
Вот Вам пара прекрасных статей:
Прикрепленные файлы
COM.rar ( 104.77 килобайт )
Кол-во скачиваний: 285