Meshbooleandifference erases entire mesh

I have a mesh I am trying to divide into parts small enough to fit onto a 3d printer. I was given the file so I did not make it, I was only asked to divide it into the smaller parts. The mesh is not a closed mesh. It does have errors. I have tried splitmeshwithcurve, meshsplit and meshbooleandifference. I get a nice split in a couple places, but in other places I do the same procedure and the whole mesh disappears. I have tried making sure the normal on the cutting plane are in the right direction, but that doesn’t make a difference. Any ideas would be greatly appreciated. I have noticed also that if I do a unifymeshnormals with the show backside checked, about 1/3 of the mesh is ‘insideout’. The red surface plane is just where I want to cut it. If it is a part connected in a loop, I make a single surface plane to cut both places with the same piece. Also I have reduced the mesh to upload it here by 90%.

Bow_final 003.3dm (9.4 MB)

Like you said the mesh has many errors (inside out, artifacts, crispy edges…) but you can still split with curves if you scale down to grid size and change angle tolerance to 0.1.
Bow_final 003_kocc.3dm (8.0 MB)

Thank you for the solution. Can you expand on your steps you listed. I scaled it down to the same size as yours and changed the angle tolerance in Tools>Option>Units to 0.1 but it still will not split for me in some places with either meshbooleandifference or splitmeshwith curve.