adodb.inc.phpの3670行付近、DSN形式をparse_url()で分解している箇所で、少なくともバージョン4.67と4.70の間で次のような違いがありました。
ADOdb 4.67:
if (strpos($db,'://')) { $origdsn = $db; $dsna = @parse_url($db);
ADOdb 4.70:
if (strpos($db,'://')) $origdsn = $db; $db = str_replace('_','%95',$db); $dsna = @parse_url($db);
・・・多分、parse_url()の仕様上そうなったのかもしれません。配列から値を取り出す場合は、rawurldecode()しています。
が。
http://phplens.com/lens/lensforum/msgs.php?id=14499&x=1
に有るように、"%95"はrawurldecode()しても戻らないんですよ。
→4.71では修正されたようです。というわけで、アンダースコアの問題で嵌っている方は最新版にしませう。