Graham,
OK, lets get just a little more detail than.
Global variables are suppose to be extremely simple. If you put a Public var myGlobalVar:String = "Hello World"; in the Index.mxml than you can call it from any where in code using this.parentApplication.myGlobalVar
You will have access to your url parameter from the MapManager.mxml and could just put the public var there also Public var myGlobalVar:String = "Hello World"; than you can call that from anywhere using SiteContainer.getInstance().mapManager.myGlobalVar; You will have to ensure that you import com.esri.solutions.flexviewer.SiteContainer;
Your idea about loading the whole barrier layer is less efficient than querying.