Making ~/.bashrc function callable to set up an environment
Your function doesn't work because OS X starts your shell as a login shell, thus .bashrc isn't read. I wouldn't use a function in this case.
If there is only one executable file in /Applications/my_app.app/Contents/Resources/ then I would use an alias.

I would use separate files when changing your environment. Set your PATH and whatever in these/this file(s) then at any time source your environment file and your good to go. As an example, I have the AST tool set installed. I'm testing the tools supplied by AST but need to use the minimum PATH supplied by OS X and the PATH to the AST tools. So, I have to modify my PATH that is set in my .profile. I've created a file .astenv in my home folder.

#
#  .astenv
#
#  The AT&amp;T Software Technology tools from AT&amp;T Research
#
#

PATH=$(/usr/bin/getconf PATH)
ASTPATH=$HOME/local/opt/ast-master/arch/darwin/bin

PATH=$ASTPATH:$PATH
export PATH


To use this config file,  I can start a new terminal session and source the file,

. ~/.astenv


or in my current terminal session start a new instance of my shell then source the file.

ksh
. ~/.astenv


When I exit this shell, I'm back to my original environment.