El archivo .bash_profile (y también el archivo .profile) se carga para shells de inicio de sesión, los shells sin inicio de sesión usan .bashrc (sin símbolo _). Hay una línea en el archivo .screenrc que le dice a la pantalla qué shell generar al iniciar una ventana de pantalla (cuando no se inicia un programa específico como la aplicación de ventana). En mi archivo .screenrc, esto es así (incluidos los comentarios también):
# shell: Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
shell -$SHELL
Verifique su archivo .screenrc y verifique que la línea de shell tenga el guión delante. Al tener ese símbolo de guión y forzar un shell de inicio de sesión, obtendrá su .bash_profile de origen. La variable $ SHELL en mi .screenrc está usando el valor de shell proporcionado por el shell que inicia la pantalla (generalmente para mí es bash).
En caso de que se lo esté preguntando, la mayor diferencia que he podido descubrir entre los shells de inicio de sesión versus no inicio de sesión es que normalmente se invoca un shell sin inicio de sesión para ejecutar scripts.