Unless you explicitly specify not to use an intermediate output queue, the actual buffer to port transfer occurs in a separate thread. In this scenario, ComWrt just buffers data to be transferred by a worker thread. I would expect that given enough time for Windows to switch active threads (you mentioned adding a delay), your bytes would be written. That said, I would try changing the way you open the port: call OpenComConfig and pass -1 as the output queue size. This will cause ComWrt to push data directly to the port, rather than using the library's intermediate buffer and worker threads.
Mert A.
National Instruments