Using LV 5.0 limits your options.
You can place a string indicator on the front panel which can be populated from various locations within your code using locals. Make sure you are using proper data flow techniques to ensure the correct messages is displayed at the correct time.
If the events that should trigger the display or control the contents of these messages are only available in running sub-VI's, you will have to add an independent loop to the HMI VI. This loop can periodicly read from a queue, LV2 global or traditional global. If it finds a message, it will write the same to the indicator, if it doesn't, it can go back to sleep for another 1/2 second.
Now, these running sub-VI's can write to the queue (global etc.) any time they have a message to display.
That's it for pre LV6 techniques. If you have LV6 there is a better solution. When the HMI starts up, it can get a control refnum for the string indicator, and pass it to all appropriate sub-VI's. Thes sub-VI's can then write their messages directly to the indicator, therby elliminating the independent loop in the main HMI.
I hope this gives you some ideas,
Ben