多分結論。
Fiberはrb_protect()経由で呼ばれたブロックの中でFiber.yeildを呼ぶと件のエラーが発生する。
rb_protect()はCで書かれた拡張ライブラリから、Rubyのブロックを呼ぶときに使う(ブロックで例外が発生したら、rb_protect()の戻り値がエラーになる。rb_protectを挟まないと呼び出し元まで例外が伝搬する。begin~rescueみたいなもん)
mikutterでは、DelayerはGtk.idle_add_priority()のコールバックを利用して動いている。
そしてGtk.idle_add_priorityはrb_protectを使ってコールバックを呼んでる。