Цитата(zombi @ Nov 19 2012, 22:18)

2. Не думаю что виндовский буфер может что то затирать кроме себя.

Неужели Вы думаете что винда может не контролировать переполнение буфера и что то там затирать?

Открыли порт - на куче появился дескриптор. Задали буфер - он лег рядом. Пошли писать - вышли за пределы и затерли соседние данные.
Никто за вас не обязан отслеживать границы массивов.
Цитата(Сергей Борщ @ Nov 19 2012, 23:10)

Дескриптор в винде - это указатель, которая винда дает вам при открытии прота. Вы его храните у себя, как он может потеряться?
У себя - это где?
А буфер где?
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)