木村といいます。

ruby 1.8.2(stable-snapshot 2004-12-18)で下記のテストコードが失敗します。

----ここから
require 'test/unit'
require 'nkf'

class TC_NKF < Test::Unit::TestCase

  def test_guess
    str = "オブジェクト指向スクリプト言語Ruby"
    # (1)jisへの変換とguessをやると、
    str_jis = NKF.nkf('-j', str)
    assert_equal(::NKF::JIS, NKF.guess(str_jis))
    # (2)次の↓が"<2> expected but was <1>."となる
    assert_equal(::NKF::EUC, NKF.guess(str))
  end

end
----ここまで(テストスクリプトはEUC)

・MacOSX 10.3.7
・ruby 1.8.2 (2004-12-18) [powerpc-darwin7.7.0]
で、この状況を確認しました。
(1)の直後に(2)を実行するとエラーになるようです。

他の処理を(1)と(2)のあいだにいれるとテストが成功するようになったりも
します。NKF2ってそういうものなのでしょうか?

1.8.2-preview3またはNKF.guess1()を利用したときはテストが成功します。