Read output from command _What > 3d modell is invalid
Use command _ShowEdges > zoom in and see errors.
You need a clean 3d modell, especially for boolean operations
a few more tipps:
(1) _showEdges (as already mentioned: will help you to find the errors)
(2) place your object at x0y0z0 / world center.
(3) use shaded display-mode for modelling
(4) if your objects have a circular repetition - model only one element and then _arrayPolar to distribute them.
The very top of your curve has two control points close together (0.001 mm). This causes the main problem. As mentioned above it would be beneficial to build objects with axial or polar symmetry on the zero point. It makes modeling much quicker.