I am using a PCI-485-8 card under Windows 2000 and developing my app with VC++ 6.0. My app is opening two of the eight 422/485 serial ports (COM8 and COM10). If I have just compiled my application, everything works fine. On subsequent attempts to execute the same exe, execution hangs on a call to WriteFile. If, instead of using COM8, I use the RS232 COM2 or COM1, there is never a problem. What is even more peculiar about this is that the WriteFile call is being made on COM10. It appears that the state of the ports when two (or, I suppose, more) of them are utilized is being messed up. But why does a recompile of the app fix the problem?