高尾と申します。

>  (2) については仕様です.ご提案の修正方法では,とにかく生きていたら殺
> す,ということをしていますが,例えば他のスレッドで何か時間のかかる終了処
> 理をしていた場合(例えば,終了時にネットワークで外部に情報を送る,という
> ようなことをしている場合),それを強制的に止めてしまうため,まずいことに
> なります.

これは「ensure節の実行中に止めるのはNG」ということですよね?
いまの実装 (rev.33339) では、ensure節の実行中であっても、terminateされたら
(外側にさらなるensure節がなければ) ふつうに終了するので、辻褄が合わない気がします。