Я исследовал, насколько возможно, поведение программы на реальной машине.
После установки соединения, программа отправляет сообщение ClientHello. После этого из сокета можно прочитать ответ сервера: ServerHello, Certificate, ServerHelloDone. Затем программа отправляет сообщения ClientKeyExchange, ChangeCipherSpec, Finished. Не знаю, получает ли сервер эти сообщения, но ответ (даже сигнальное сообщение об ошибке) от сервера не приходит. Другие приложения (браузер) на этой же машине работают. Могу предположить только вот что: браузер использует порт 80 (http), а не 443 (https). Отличия между ними в том, что порт 443 блокирующий, а 80 -- нет. Может быть проблема в реализации блокирующих сокетов. Возможно
http://board.kolibrios.org/viewtopic.php?f=40&t=2460 не заработало по той же причине. Углубляться дальше пока нет желания и придется оставить как есть. Может быть я ошибаюсь и проблема не в сетевой подсистеме, а в моем коде (хотя под Windows библиотека работает без проблем), тогда, возможно, кому-то удастся сделать полностью работающую библиотеку.