Ich habe Deinen Code nicht bis ins Letzte nachvollzogen, aber vielleicht liegt es hieran?
Zitat:
WriteFile function
...
Note
The GetLastError code ERROR_IO_PENDING is not a failure; it designates the write operation is pending completion asynchronously. For more information, see Remarks.