斎藤です。
頭に溜め込んでた分があるので多くなってしまい、失礼。

現状、「BigDecimal op String #=> BigDecimal」となっています
が、既存の数値クラスの方針と比べるにちょっとまずいと思います。

Index: bigdecimal.c
===================================================================
RCS file: /src/ruby/ext/bigdecimal/bigdecimal.c,v
retrieving revision 1.9
diff -u -p -r1.9 bigdecimal.c
--- bigdecimal.c        1 Jul 2003 14:14:18 -0000       1.9
+++ bigdecimal.c        7 Jul 2003 07:36:45 -0000
@@ -183,10 +183,6 @@ GetVpValue(VALUE v, int must)
             }
         }
         return pv;
-    case T_STRING:
-        SafeStringValue(v);
-        return VpCreateRbObject(strlen(RSTRING(v)->ptr) + VpBaseFig() + 1,
-                                RSTRING(v)->ptr);
     case T_BIGNUM:
         bg = rb_big2str(v, 10);
         return VpCreateRbObject(strlen(RSTRING(bg)->ptr) + VpBaseFig() + 1,

---
斎藤ただし