Please forgive this being my first post but I wanted to answer this as someone who has been a server for a number of years.
I work in a family owned and operated seafood restaurant in Florida, it's fairly priced at about $30 a head.
I would say you should never wait more than 10 minutes to see your server, especially if the restaurant doesn't have a wait to be seated. If you do, take it up with the hostess. It's their job to know when the server is able to take on another table and their fault if you don't get the expected service.
You should expect to wait no more than 10 minutes to see your salad and bread. Most salads in big turn around restaurants are made slightly ahead of time and takes the server no time to reach into the cooler and grab.
A note on main courses. The only problem I have with people complaining here is when they don't consider how the dish is being prepared. It's perfectly acceptable to inquire how your meal is cooked. For instance, a broiled fish dish is going to take a hell of a lot longer than some fried fish.
Fried food shouldn't take longer than 15 minutes. For baked and broiled food I'd start wondering after 45 minutes. Also, if you're ordering a steak, keep in mind the cut. Filet is going to take a while longer than a ribeye.
Oh yeah, don't worry about sending food back. It won't be treated badly. The kitchen usually rushes the order and the server should be very apologetic. The worst you can expect is it taking a bit longer than you'd like (especially if you're rude about it).
Personally, I won't wait longer than an hour for my food at an average restaurant, but I do keep an eye on the staff.