Через CreateFile все работает замечательно. Поэкспериментируй с настройками порта, таймаутами и т.п.. Вроде бы порт открывается не с теми настройками что заданы для порта по умолчанию.
GetCommState/SetCommState, GetCommTimeouts/SetCommTimeouts,
GetCommConfig/SetCommConfig.
Через CreateFile работает всегда и под любой системой (кроме случаев естественных глюков системы)