何となく原因がわかってきた…
DllMainでruby_init、rb_eval_stringして
エキスポート関数でrb_class_new_instanceとかrb_funcallを呼ぶと駄目っぽい
エキスポート関数内でruby_initから書くと動く
DllMainのruby_initで初期化されたメモリとかが勝手に解放されちゃうっぽい???
でもエキスポート関数呼ばれる度にRuby初期化、スクリプトのロードするのはかなり効率悪いし
Ruby内でのグローバル変数が使い物にならない…orz
どうしたら良いだろう?

あ、一応訂正
>>261
×:libmsvcrt-ruby18.a
○:libmsvcrt-ruby18.dll.a
--disable-shared付けてビルドしたlibmsvcrt-ruby18.aだとリンクは出来るけどなぜか動かないっぽい