opensslのS/MIME部分のMIMEのパース・シリアライズ部分のソースを見ていたのですが、根本的に問題がありますね。そもそもMIMEメッセージはバイナリとして扱わなくてはいけないのに、テキストとして扱っているので、改行コード周りの処理がかなりめちゃくちゃです。
自前でPKCS7関係のAPIを呼び出して、返されたデータをシリアライズしてMIME化する部分は自前でやった方が良さそうです。どのみちMIMEのライブラリはあるので手間的にも大したことはないと思いますし。