Thanks Juerd. I asked Juerd to take a second look at the module as he had been one of the most vocal critics. Many of the criticisms prompted me to add several the features I have. I asked if he might review the module while re-viewing the module, as I hoped it would gain additional exposure, code review, and prodding :-D
A few clarifications...
As far as ? this is all handled in the private _substitute function. It does a bit more than just expand ??L, but yes the wording of the documentation does "take credit" for the actual placeholder substitution done by DBI. I believe the intent here was to not provide the user with more information than they needed to know, I will look into rewording it to keep the details hidden but not take undue credit.
You don't actually *have* to use Use to handle multiple databases, you can actually just write the appropriate SQL e.g. Select('From BAR.barfle') even though you are "Connected" to FOO. This is just a convenience function in this case, and should probably be clarified. It is actually more pertinent to connecting to multiple RDBMS, say on hosts fred and barney. At which point I think there will be lots of context switching no matter what interface you use.
There is a currently undocumented "feature"/side-effect that I have been wondering if I should in fact document. It is the fact that the object returned by Connect and passed to Use is in fact the DBI object. I am not sure if this could be useful information...
UPDATE: I have addressed your documentation concerns, as well as fixed a compile-time error under 5.005 reported by gav^ and just uploaded the result as 0.11 Until it reaches your local CPAN mirror it is available at ftp://pthbb.org/pub/pm/EZDBI/0.11.tgz