Sure. Setup an roTimespan and reset (mark) it for any user initiated events (e.g., play, pause, rewind, fast forward, etc). Set a non-zero wait time for your video screen, and check the roTimespan.TotalSeconds() for every "invalid" message. If the total seconds exceeds your defined timeout, pop up the dialog. Set a 60 second (60000 millisecond) wait on the dialog response, and if you get an "invalid" message from that, then stop the stream.
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)