Hi Tom - just working on the same thing.
How's about ... BO containing message and a timestamp and maybe a time to live attribute.
VP process that looks to see if there is a message every 20 secs or so,
If message found display message async
I also monitor who's logged on with a 20 rsecond auto refresh - but it doesn't catch the ones who just close the browser window unfortunately - but hey oh, that's users for you!!!
The above is similar to the rotating ads in the demo CRM app