The user customisable actions are run in a shell, but the shell in invoked with /bin/sh and so only checks /etc/profile and ~/.profile for the environment variables. A lot of people/distros put local environment variables in ~/.bashrc (or ~/.bash_profile), so may it be an idea to run the shell interactively so that they are executed? Without this, the power of UCAs are limited, for example a python script won't be able to read the $BROWSER variable, and so the webbrowser python module will fail to load a browser. The problem seems to go away when thunar is started from the terminal.
That kind of stuff should be handled at login time, so the env variables are available to all processes, and not only processes started directly from the shell. If that doesn't work for you automatically, then either your distro is b0rked or you b0rked your session setup. In either case, not something for thunar, esp. since shell != bash in many cases.