手元にバスアナライザがない状態でしたので、その後ウェブをいろいろと調べていたところ、現象がわかりました。
SetCommStateは
下記のIOを送っている。
1) GET_LINE_CODING
2) GET_LINE_CODING
3) SET_LINE_CODING
4) GET_LINE_CODING
5) SET_CONTROL_LINE_STATE
6) SET_LINE_CODING
7) GET_LINE_CODING
SetCommState()ひとつで、ファームウェアのタイミングエラーが起こる条件を充分満たしています。
関連のソースを修正したら無事にSetCommStateできるようになりました。