Here's my solution, using the first method described.
I have a directory called 'Launchers' in my home directory that holds launcher scripts to setup and kill the things that i need when running external apps in my standalone XBMC environment.
here's the one i use for the netflix-wine workaround.
Code:
#!/bin/bash
openbox &
netflix-desktop "$1"
kill %1
this script runs openbox, the light window manager that comes installed in xbmcbuntu, then runs netflix-desktop and passes the first variable after it along. when it opens, it grabs focus and foreground. after netflix-desktop ends, this script kills the instance of openbox.
in this one i don't need to pass the variable along as much as on some of the other ones, but most of these are cut and pasted so it carried over from one of the others.
the one that uses the variable passing is the one that i have rom collection browser call to lanuch the emulator- it passes the rom name to the emulator from rom collection browser.
if i wanted to refine this further, i'd make a single script that you pass the name of what you want to launch to as a variable asa universal fix, but this startd asa one-off fix and i haven't gotten around to taking it any further.