It appears that TCPSampler code uses the Socket constructor that does not allow for a connect timeout. The timeout is only set for read operations.
Seems a reasonable enhancement (it's not a bug)
URL: http://svn.apache.org/viewvc?rev=1082883&view=rev Log: Bug 50937 - TCP Sampler does not provide for / honor connect timeout
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/2474