When baking, you can imagine it (I'm not sure this is how the process actually works but seeing it that way seems to make sense) as if rays where cast from everywhere on your low poly mesh where a pixel from your texture is applied. This ray travels a certain distance (determined by the "distance" field in the "bake" tab) and everytime it meets another polygon, it analyses it and stores the desired values in the pixel it comes from.
However, if it meets more than one polygon, it tries to store both values at once in a pixel that can only store on value which results in the artifact that you are seeing.
Reducing the distance field should solve at least part of that problem. If your problem persists, you may want to consider using a cage but I'm not familiar with this feature, you'll have to find a tutorial on that yourself.
P.S.: A normal map is a normal map. Wether you made it in Cycles or Blender internal makes very little difference so if it seems to work for you in one better than the other, feel free to bake in that renderer and then use it in the other.
(Here again I'm no expert so if someone wants to correct me, you're welcome to do so)
Hope this helped