The location of the UIR file is given when you load it: 
rxGraph = LoadPanel (0, "rx_graph.uir", RX_GRAPH);
I assume you can supply a relative path, becoming:
rxGraph = LoadPanel (0, "../some_dir/other_project/rx_graph.uir", RX_GRAPH);
I don't know why it works in project mode, I don't have ehough information. 
Why don't you use the UIR to Code converter, and build it into the application (ok, the .exe is a little bigger but...). 
This would mean that you don't need to distribute the .uir file. 
So the above just becomes: 
rxGraph = BuildRX_GRAPH(0);
everything else remains the same. (You have to include the .h and build the .c for the UIR code though 🙂