Execute something by clicking object
Blender's event system doesn't expose an event that triggers just once when an Object is selected (December 2015) - You aren't missing anything obvious. 

You could make an event handler that listens for scene updates and only fires a custom function call once if the active_object changes between calls (these scene updates can be high frequency, 30 times per second). 

read: bpy.app.handlers.html  see bpy.app.handlers.scene_update_pre (or ..._post) 

The docs have sample code which you can extrapolate.

ps. this assumes your use case doesn't include clicking the same object a number of times in sequence.