FromAs of 2.76, blender docsfreestyle still does not detect edges at intersections, see docs:
"NoNo edges at face intersection are detected yet."
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Freestyle
A workaround is to create some extra edge (small face, invisible in the final render) on top of the actual intersection. It's not clean, but it somehow works. (note that the edge in the image below is a bit exaggerated. It can be much more subtle.)
Depends on what you want to achieve.
Another idea is to use the internal edge capability of Blender via Render->Post Processing->Edge. If you're rendering out a still image, you can then mask out areas with edges you don't want in the compositor, later.