Boolean difference produces incorrect result
Make sure you apply the scale and rotation of the objects. In Object Mode select an object and press CTRL + "A" and select "Rotation and Scale" from the drop down menu.