The shell startup scripts are kinda funky. When starting a non-interactive login shell, ~/.bashrc is sourced twice, once from ~/.bash_profile and again as $BASH_ENV. See bash man page. (Also bad because it uneccessarily causes ~/.bashrc to run in non-interactive, non-login shells, when none is needed.) Now, bash's startup script needs are confusingly awkward, but here's one way to handle it: Put everything in a bashrc file in two sections, one for exported stuff, one for non-exported stuff, each protected by it's own environmental variable such that when the variables are undefined, only the non-exported stuff is used (like a normal bashrc file). Then source the file from a profile file with variables set so both parts are used. (If someone wants to use ENV or BASH_ENV, they can have the profile file cause only the first part of the bashrc file to be used from the profile file.)
Assigning to bash, that's where these scripts live these days.
Fixed in 2.05-5, we're no longer setting BASH_ENV.