O arquivo .bash_profile (e também o arquivo .profile) é carregado para os shells de login, os shells não-login usam .bashrc (sem _ symbol). Existe uma linha no arquivo .screenrc que diz à tela que shell deve aparecer ao iniciar uma janela de tela (quando não iniciar um programa específico como o aplicativo de janela). No meu arquivo .screenrc, isso é assim (incluindo comentários também):
# 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 seu arquivo .screenrc e verifique se a linha do shell tem o traço na frente dele. Com esse símbolo de traço e forçando um shell de login, você obterá seu .bash_profile originado. A variável $ SHELL no meu .screenrc está usando o valor do shell conforme fornecido pelo shell que inicia a tela (geralmente para mim é bash).
Caso você esteja se perguntando, a maior diferença que eu consegui descobrir entre os shells de login e não-login é que um shell não-login é normalmente o que é chamado para executar scripts.