The characters have a specific rotation that they are supposed to follow, and they will keep circling the resturant until it closes. Depending on the resturant, it may take 30 minutes to an hour for them to get back to you. If your meal is ending and the character still hasn't made it to you, then let either a server or a character attendent know. Sometimes it may seem that they skipped you, but they are actually going where they are supposed to and will come back. Other times, the character's "close friend" is new to the location and hasn't quite gotten his or her footing yet. Crystal Palace has certain tables that often get accidentally skipped due to the confusing layout of the resturant.
At a buffet, if you watch the characters, you can get an idea of how close they are getting to your table and plan your trips to the food stations accordingly. You can always ask your server too.