After you type sudo su, before you execute your script, type the path to your script.
Example, root@ubuntu:cd <path to your script> boo.
The reason boo works for user X should be because of the fact that you have added /home/X/bin to the PATH (you can check the command out by writing echo $PATH in terminal). When switching to root the user no longer has any PATH entry to that particular folder thus writing boo checks folder /bin /sbin and such but cannot find the script. This is not true when using sudo since sudo is a nice way of doing su -c '/path/to/script/ sudo does the command as another user (namely root) and there the PATH is different :)
Hope that helped any other who wondered.
echo $PATH as user:
And as sudo su:
Note the difference. I'm using Centos so I'm not sure that sudo behaves in the same way on any other dist though.