Wired,
One of my own websites lists camping sites in the netherlands. In return for a free page we ask them the enlist our website on theirs. From our guestpage we make for them we'll link to their website. Never before has this harmed our website but rather is has improved our site.
Not only do you need to think about search engines but more about users that come across a website. Is this resource usefull for the visitor of that site? Yes? Then you should link back to them. Is it truly an Honour to be in their top 100 sites? Yes, then you should embed something something like a badge or something on your site linking to the top 100 to prove that you are true.
So question 1: Is it common courtesy to reciprocate with a link back if someone has linked to your site? ONLY if you think it will help your visitor or if you need to prove something (for instance that you are telling the truth or something)
Question 2: Does linking back affect seo rankings at all? Yes, it does. A link on a page pointing to another website is a vote for that website. Should you always insert a link back for Seo purposes only? No way..
Remember that Google is trying to index websites more and more humane as they probably can. Does a link to a site that is already pointing to your website harmful? Not per definition. Is it useful? Not per definition. It all depends and your visitor. Start out by imagining that you are a blank visitor on your site and try to find out if a reciprocal link is useful or not. If so, you should embed it in your site.
If you have any questions please ask.
Hope this helps
Kind regards
Jarno