This problem have been bugging me for as long as I remember. The reason is simple : that error occurs when Blender is told to bake a texture on an image that is already used as a texture hence the term 'circular reference'. It's like trying to film a monitor that shows the footage from the camera you are filming with (I don't know if you understand that :D ). Basically what happens is that Blender 'reads' the data from all the image textures that are used by the material and composites the output into your 'output' image and this error occur when your 'output' image is one of the image textures of the material.
Now the problem is "How to choose this 'output' image", right? Because sometimes, Blender 'seems' to choose kinda randomly the output image to one of your images textures and you have no idea about how to change it. So here is how I do to make sure that I select the image I want for the baking output :
In Blender (the Blender Render engine), we have what we call 'face textures' and the image that is selected as a face texture is the one that will be choosen for the baking output.
In this simple scence, there is a plane with an image texture applied, you can see the texture by selecting 'material' or 'texture shading mode'. The texture you see is NOT the face texture I am talking about, to see the face texture, select 'SOLID SHADING MODE' and go to the 'N' panel to the 'shading' section and check 'textured solid' :
Make sure you are in solid shading mode before doing this, otherwise you won't see the 'textured solid' option. For now my plane has no face texture applied and that is why it is shown bright white in the viewport. if I try to bake anything at this point, Blender will choose my image texture as an output by default and I would get that 'circular reference' error.
Now, split your window and change the second window to an image/uv editor if you haven't already. If you switch to edit mode now, Blender will open automatically the face texture of the selected faces in the uv/image editor on the left. If you have no face textures yet, the uv/image editor will still remain empty with nothing but the UV layout of your object.
If you go to the uv/image editor and chose an image to display, Blender will apply this image as a texture to your object (You need to stay in edit mode). This is how you chose a face texture ( and the baking output).
If you want a blank image for baking, just add a new image from here (without leaving edit mode) and you should see your new image applied as a texture on your object. Note that this operation will have no effect on your renders since you didn't touch your material textures and you should still be able to see you material textures in 'material shading mode'.
After doing that, Blender will use that face texture as an output for the baking process, so if the image you chose is not used anywhere in your materials, it should not emit an error.
Sorry for the very long answer but I hope it helps someone.
Someone on Blender artists posted a link to a tutorial that explains face textures in details and this tutorial is the one that helped me solve this problem. A link to it : An awesome tutorial