That's actually not screen's fault.
When bash starts, it will read either .profile_bash or .bashrc but not both, depending whether it is a shell process or subprocess.
On X-window based systems, one of these (I can never remember which) gets read when the root window starts, and then the other gets read when every sub-process starts. On OS X this approach breaks down.
There is a slightly different bug I have been seeing, and I think it is due to multi-threading. Basically the screen session starts before the $PATH gets entries like /sw/bin or /opt/local/bin set. I never figured out how, but my hackish workaround is simply to start screen and then invoke the process I want, rather than to do it all in one command. (This gets annoying if you are writing shell scripts that invoke screen).