Recently I noticed that whenever I used screen not only was my .bash_profile not working but every time that I ran a command I was presented with this lovely error
bash: iterm2_preexec_invoke_cmd: command not found
Doing some research I came across a post on Superuser.com that pointed out that you can simply add the following to the top of your ~/.screenrc file and your .bash_profile will not only work within screen, but that damn error message will stop appearing.
shell -$SHELL
You will have to restart iTerm/Screen again and you should be all set.