岡田です。

>>>ensure中にrequireもしくはloadを実行するとExceptionが無効化されるようですが
>>>仕様でしょうか? それともバグ?

ちょっと絞り込みが甘かったです。
requireで.soなライブラリを読ませた時は再現せず,
.rbなライブラリを読ませた時のみ起こる現象のようです。

その上で、現在わかっている環境は以下の通り。

このバグを再現する環境
ruby 1.6.3 (2001-03-19) [i386-freebsdelf4.1.1]
ruby 1.6.3 (2001-03-28) [i386-linux]
ruby 1.6.3 (2001-03-19) [alphaev56-osf4.0d]
ruby 1.6.4 (2001-04-24) [i686-linux]
ruby 1.6.2 (2000-12-25) [i386-netbsd1.5] 
ruby 1.6.2 (2000-12-25) [i386-netbsd1.5] 

このバグを再現しない環境
ruby 1.6.1 (2000-09-27) [i586-beos]
ruby 1.6.1 (2000-09-27) [i386-freebsdelf4.1.1]
ruby 1.4.2 (1999-09-18) [alpha-osf4.0f]
ruby 1.6.2 (2000-10-16) [i386-bsdi3.1]

純粋にバージョン依存で、1.6.2の10/16版から12/25版の間に混入したバグのようです。

--
ゆん(岡田 潤)
yun / nekome.net
http://www.nekome.net/