Joel is correct. If you exit your custom screensaver, the default screensaver will kick in, so you could write a file to tmp:/ any time your custom screensaver should run, and delete it when it shouldn't, then have your RunScreensaver() function check for that file before starting the screensaver.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)