Global sprites shouldn't go invisible - marking them global simply means they don't destroy at the end of the layout, and that they appear in all event sheet editors.
The global XAudio2 thing is a known problem - running a layout won't create it because the object is on the first layout. The best solution I can think of is to have two global variables, 'debug' and 'layout' - have on start of layout on the first layout, if debug = 1, jump to layout global('layout'). Then always preview the entire application, and to preview one layout, set the global variables.