>>> I had no idea this is even possible... and the manual advises that the
>>> defvar should "usually be at top-level". So, commenting out all the
>>> file-level (defvar date) in all of org and then changing in org-bbdb.el
>>> like this:
>> In general, having them at file-level is just as good as having it
>> within a defun.
> Either I've lost you here or the conclusion is that we can't do anything
> in org to make these defvars less evil and should just silence the
> warnings associated with them?
The only thing that can be done for dynamic vars is to make them
namespace-clean, so if renaming them is not an option (which could be
the case for example because those vars appears in user customizations),
then indeed, there's not much you can do.