You have to treat MacTCP as an asychronous driver, when you invoke a control command you do need to confirm it has been completed before you continue. As it may use memory in your heap (System 6 being very different to 7 in this regard) you need to ensure all streams are correctly closed.
The MacTCP that sits on top of OpenTransport has quite a different behaviour, so when developing MacTCP code you need to test in both environments (eg with and without OT).
The MacTCP that sits on top of OpenTransport has quite a different behaviour, so when developing MacTCP code you need to test in both environments (eg with and without OT).