I've been using DB_FIle for over 10 years now. I was aware early on, from experience not intuition, that DBM files can't be ported, and found this was confirmed in one of my early books on Perl, by Martin C Brown in 2001. In that time I've run CGI scripts on various servers and never had any problems until now with DB_FIle.
I don't have administration rights on the server that's running the particular script that had this problem so I couldn't do other than accept the changes that were made. There was no mention made of a change to the version of the DB engine that was going to be used by so I couldn't possibly test what the result of the changes would be beforehand. I did check that the script would run under Perl 5.10, there was nothing in the Changelog to suggest otherwise, but this was using my local version of Perl, the one distributed by ActiveState, which sensibly used version 1 of the DB engine for its DB_File
The documentation for DB_File from which you've already quoted confirms that DB_FIle is intended to be used with version 1 of the DB engine, and while it can be tied to other versions "the interface is limited to the functionality provided by Berkeley DB 1.x". The BerkeleyDB module is the one to use if the features of later versions of the engine are required.
One question perhaps you can answer. Do the other distributions of Perl and this DB_File module come with that module linked to a particular version of the Berkeley DB engine, or is it left to the server administrator to decide which version of the DB engine he/she is going to use?