The current code tries to include_once "DB.php" and decides upon the result, if PEAR is available ($__Auth_OpenID_PEAR_AVAILABLE).
Because it's using "@include_once" this can create a fatal error, which is hard to spot, because there's no error logged/displayed anywhere. E.g., in b2evolution there's already a class DB and therefor you'll get "cannot redeclare class", if PEAR DB is available and gets sources here.
I've created a patch to remove the $__Auth_OpenID_PEAR_AVAILABLE global altogether and use another check ("method_exists") where setFetchMode is supposed to get called for PEAR DB instances.
Another solution might be to check for (is_subclass_of($this->connection, 'db_common')).