With any Do-more instruction that uses Success/Error, both flags get cleared as soon as the input leg is turned on, and the Success or Error result gets turned on when the box is complete. If you invoke STREAMOUT on a connection that is closed, it will immediately error out and set the system error value. From the point that the box is complete, the instruction is no longer involved...just the underlying device.
Since OPENTCP can succeed, and then the connection fail later, you can check the connection status in the client device's structure. If you created a client device named TCP, it automatically creates a structure named $TCP, containing the field .Connected, which will turn off when the connection has been lost. Use this to determine if you need to reopen the connection.