HI,
Whist his Screen Sharing item might also be On does he list any restrictions ?
As you can see by your Pic it could be set to "Adminstrators" but these would be Admins on his computer not yours.
It is also possible he has set a specific person.
This would also have to be some who has a Mac User account on his computer not a Contact's Name.
What the iMessages side does here is invoke another app like it does when using FaceTime for Video or Audio Chats.
This means the other app has to work.
However there are part of the Messages use of the Screen Sharing app involved in the connection process that are some what easier than using the app itself on it's own.
The Screen Sharing app is part of Apple Remote Desktop.
It's engine as such is used my the Messages app in the "iChat type" video chats in AIM and Jabber accounts.
The app can be used on it's own by making VNC connections to the other end. (AS shown in a link from the Link Eric Posted)
However this involves the router allowing the ports and the other end also pointing them to the "right" computer.
From what you post though it does seem you have everything set correctly at both Macs.
That might leave issues with any router.
Is it using UPnP ?
This would allow the app to tell the router which ports to have open without having to manually set them.

8:57 p.m. Sunday; June 14, 2015
iMac 2.5Ghz i5 2011 (Mavericks 10.9)
G4/1GhzDual MDD (Leopard 10.5.8)
MacBookPro 2Gb (Snow Leopard 10.6.8)
Mac OS X (10.6.8),
Couple of iPhones and an iPad