Hum... you're working backwards from the way I usually think of
things. With PyeTV, the PyeTV code is
constantly monitoring the uiVisible state of the front row controller
to see if Front Row is visible again,
and so control returns to the PyeTV code.
If you do a "fire-and-forget" kind of launch, then when you press the
menu button your plugin's code may not be run.
If you're committed to that, then you might want to install a timer
which checks the uiVisible state.
I'd look at PyeTV's WaitController and do something similar.
http://code.google.com/p/pyetv/source/browse/trunk/PyeTVWaitController.py
Probably after the line:
log("FR ui is visible, so hiding windows")
you could quit safari.