The Starcraft program doesn't know when it receives the SYNACK, all it knows is when the connection is "established". Don't forget that Starcraft operates on the application layer, where the concepts are connected/disconnected/etc. What you're thinking of is the TCP layer, where the states are SYN_SENT and SYN_RECEIVED and other lower level stuff.
So in other words, no, Starcraft isn't doing that. And plus, I've reversed that portion, and I assure you that it's just a naked, classic, connect() syscall.